def test_prepare_dialog_options_no_readers(mock_npe2_pm): pth = 'my-file.fake' with pytest.raises(ReaderPluginError) as e: prepare_remaining_readers([pth], 'fake-reader', RuntimeError('Reading failed')) assert 'Tried to read my-file.fake with plugin fake-reader' in str(e.value)
def test_prepare_dialog_options_multiple_plugins(mock_npe2_pm): pth = 'my-file.tif' readers = prepare_remaining_readers( [pth], None, RuntimeError(f'Multiple plugins found capable of reading {pth}'), ) assert 'builtins' in readers
def test_prepare_dialog_options_removes_plugin(mock_npe2_pm, tmp_reader): pth = 'my-file.fake' tmp_reader(mock_npe2_pm, 'fake-reader') tmp_reader(mock_npe2_pm, 'other-fake-reader') readers = prepare_remaining_readers([pth], 'fake-reader', RuntimeError('Reader failed')) assert 'other-fake-reader' in readers assert 'fake-reader' not in readers
def test_prepare_dialog_options_removes_plugin(tmp_plugin: DynamicPlugin): tmp2 = tmp_plugin.spawn(register=True) @tmp_plugin.contribute.reader(filename_patterns=['*.fake']) def _(path): ... @tmp2.contribute.reader(filename_patterns=['*.fake']) def _(path): ... readers = prepare_remaining_readers( ['my-file.fake'], tmp_plugin.name, RuntimeError('Reader failed'), ) assert tmp2.name in readers assert tmp_plugin.name not in readers