Example #1
0
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)
Example #2
0
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
Example #3
0
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
Example #4
0
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