@@ -324,6 +324,33 @@ def test_browse_for_missing_prefixed(self):
324324 self .data_regions_options .as_dict (), cur .options ().as_dict ()
325325 )
326326
327+ def test_browse_for_missing_prefixed_parent (self ):
328+ path = self .data_regions_path
329+ basedir = os .path .join (os .path .dirname (path ), "origin1" )
330+ item = (PathItem .VarPath ("basedir" ,
331+ "this file does not exist.csv" ),
332+ self .data_regions_options )
333+ widget = self .create_widget (
334+ owcsvimport .OWCSVFileImport , stored_settings = {
335+ "__version__" : 3 ,
336+ "_session_items_v2" : [(item [0 ].as_dict (), item [1 ].as_dict ())]
337+ },
338+ env = {"basedir" : basedir }
339+ )
340+ mb = widget ._path_must_be_relative_mb = mock .Mock ()
341+ widget .activate_recent (0 )
342+ dlg = widget .findChild (QFileDialog )
343+ assert dlg is not None
344+ # calling selectFile when using native (macOS) dialog does not have
345+ # an effect - at least not immediately;
346+ dlg .setOption (QFileDialog .DontUseNativeDialog )
347+ dlg .selectFile (path )
348+ dlg .accept ()
349+ mb .assert_called ()
350+ cur = widget .current_item ()
351+ self .assertEqual (item [0 ], cur .varPath ())
352+ self .assertEqual (item [1 ].as_dict (), cur .options ().as_dict ())
353+
327354
328355class TestImportDialog (GuiTest ):
329356 @staticmethod
0 commit comments