def test_listControls(): from fsleyes_plugin_example.plugin import PluginControl from fsleyes.views.timeseriespanel import TimeSeriesPanel from fsleyes.views.orthopanel import OrthoPanel ctrls = dict(plugins.listControls()) ctrlsortho = dict(plugins.listControls(OrthoPanel)) ctrlsts = dict(plugins.listControls(TimeSeriesPanel)) assert ctrls['Plugin control'] is PluginControl assert ctrlsortho['Plugin control'] is PluginControl assert 'Plugin control' not in ctrlsts
def test_initialise(): with tempdir.tempdir(changeto=False) as td1, \ tempdir.tempdir(changeto=False) as td2: with open(op.join(td1, 'plugin1.py'), 'wt') as f: f.write(code.format(prefix='Plugin1')) with open(op.join(td2, 'plugin2.py'), 'wt') as f: f.write(code.format(prefix='Plugin2')) with mock.patch.dict( 'os.environ', {'FSLEYES_PLUGIN_PATH' : op.pathsep.join((td1, td2))}): plugins.initialise() assert 'fsleyes-plugin-plugin1' in plugins.listPlugins() assert 'fsleyes-plugin-plugin2' in plugins.listPlugins() p1 = sys.modules['fsleyes_plugin_plugin1'] p2 = sys.modules['fsleyes_plugin_plugin2'] views = plugins.listViews() ctrls = plugins.listControls() tools = plugins.listTools() assert views['Plugin1View'] is p1.Plugin1View assert views['Plugin2View'] is p2.Plugin2View assert ctrls['Plugin1Control'] is p1.Plugin1Control assert ctrls['Plugin2Control'] is p2.Plugin2Control assert tools['Plugin1Tool'] is p1.Plugin1Tool assert tools['Plugin2Tool'] is p2.Plugin2Tool
def test_loadPlugin(): with tempdir.tempdir(changeto=False) as td: with open(op.join(td, 'test_loadplugin.py'), 'wt') as f: f.write(code.format(prefix='Load')) plugins.loadPlugin(op.join(td, 'test_loadplugin.py')) mod = sys.modules['fsleyes_plugin_test_loadplugin'] assert 'fsleyes-plugin-test-loadplugin' in plugins.listPlugins() assert plugins.listTools()[ 'LoadTool'] is mod.LoadTool assert plugins.listControls()['LoadControl'] is mod.LoadControl assert plugins.listViews()[ 'LoadView'] is mod.LoadView
def test_installPlugin(): with tempdir.tempdir() as td: with open('test_installplugin.py', 'wt') as f: f.write(code.format(prefix='Install')) s = fslsettings.Settings('test_plugins', cfgdir=td, writeOnExit=False) with fslsettings.use(s): plugins.installPlugin('test_installplugin.py') mod = sys.modules['fsleyes_plugin_test_installplugin'] assert 'fsleyes-plugin-test-installplugin' in plugins.listPlugins() assert plugins.listTools()[ 'InstallTool'] is mod.InstallTool assert plugins.listControls()['InstallControl'] is mod.InstallControl assert plugins.listViews()[ 'InstallView'] is mod.InstallView assert op.exists(op.join(td, 'plugins', 'test_installplugin.py'))