def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.plugin_manager = PluginManager.get_instance() MainWindow.instance = self self.collection = Collection.get_instance() self.setupUi(self) self.showMaximized() self.setUnifiedTitleAndToolBarOnMac(True) # TODO clean toolbar code? # self.createToolbar() self.views = None self.view = "dashboard" # self.views = self.init_views() # self.display_view('dashboard') self.statusbar.hide() # Menu actions self.help_menu = self.menuBar().addMenu("&Help") self.about_action = QtGui.QAction( "&About", self, statusTip="Show the application's About box", triggered=self.about ) self.help_menu.addAction(self.about_action) # Connect menu actions self.actionView_Dashboard.triggered.connect(lambda: self.display_view("dashboard")) self.connect( self.actionQuick_search, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("quicksearch") ) self.connect(self.actionFullscreen, QtCore.SIGNAL(_fromUtf8("triggered()")), self.switch_fullscreen) self.connect( self.actionDiscover, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("discover") ) self.connect( self.actionPreferences, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("preferences") ) self.connect( self.actionProperties, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("properties") ) self.connect( self.actionAdvanced_Search, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("filters") ) self.connect(self.actionImport, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("import")) self.connect(self.actionExport, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("export"))
def setUp(self): PluginManager._instance = None self.manager = PluginManager( ['PluginHello'], {'PluginHello': type('mock', (str,), {})()})
class TestPluginManager(unittest.TestCase): def setUp(self): PluginManager._instance = None self.manager = PluginManager( ['PluginHello'], {'PluginHello': type('mock', (str,), {})()}) def test_disable_not_a_list(self): self.assertRaises(TypeError, self.manager.disable, 'PluginHello') def test_enable_not_a_list(self): self.assertRaises(TypeError, self.manager.enable, 'PluginHello') def test_boot_enabled(self): self.assertTrue('PluginHello' in self.manager.get_enabled()) def test_disable_item(self): self.assertTrue('PluginHello' in self.manager.get_enabled()) self.manager.disable(['PluginHello']) self.assertFalse('PluginHello' in self.manager.get_enabled()) self.assertTrue('PluginHello' in self.manager.get_disabled()) def test_enable_item(self): self.manager.disable(['PluginHello']) self.assertFalse('PluginHello' in self.manager.get_enabled()) self.manager.enable(['PluginHello']) self.assertTrue('PluginHello' in self.manager.get_enabled()) self.assertFalse('PluginHello' in self.manager.get_disabled()) def test_load_enabled_and_run(self): path = os.path.join(os.path.dirname(__file__), 'data', 'plugins') self.manager.look_for_plugins([path]) execution_result = self.manager.get('PluginHello').results self.assertEqual(execution_result, 'Hello world') def test_filter(self): result = self.manager.filter(str) self.assertEquals(result, ['PluginHello'])