예제 #1
0
    def test_should_register_tray_icon_provider(self, mock_indicator):
        plugin = self.make_indicator()

        plugin.activate()

        self.assertIn(TrayIcon, graph.providers.keys())
        self.assertEqual(graph.get(TrayIcon), plugin)
예제 #2
0
def test_timeframe_module():

    TimerFrameModule.providers.keys() == ["view.timerframe"]

    TimerFrameModule().add_to(graph)

    provider = graph.providers["view.timerframe"]

    assert isinstance(provider, FactoryProvider)
    assert SingletonScope == provider.scope
    assert provider.dependencies == {}
    assert isinstance(graph.get("view.timerframe"), TimerFrame)
예제 #3
0
def test_timeframe_module():

    TimerFrameModule.providers.keys() == ['view.timerframe']

    TimerFrameModule().add_to(graph)

    provider = graph.providers['view.timerframe']

    assert isinstance(provider, FactoryProvider)
    assert SingletonScope == provider.scope
    assert provider.dependencies == {}
    assert isinstance(graph.get('view.timerframe'), TimerFrame)
    def __init__(self):
        super(IndicatorPlugin, self).__init__()

        self.view = graph.get('tomate.view')
        self.config = graph.get('tomate.config')

        menuitem = Gtk.MenuItem(_('Show'), visible=False)
        menuitem.connect('activate', self.on_show_menu_activate)
        menu = Gtk.Menu(halign=Gtk.Align.CENTER)
        menu.add(menuitem)

        menu.show_all()

        self.indicator = AppIndicator3.Indicator.new(
                'tomate',
                'tomate-indicator',
                AppIndicator3.IndicatorCategory.APPLICATION_STATUS,
        )

        self.indicator.set_icon_theme_path(self.config.get_icon_paths()[0])
        self.indicator.set_menu(menu)
예제 #5
0
def test_taskbutton_module():
    assert list(TaskButtonModule.providers.keys()) == ['view.taskbutton']

    TaskButtonModule().add_to(graph)
    provider = graph.providers['view.taskbutton']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {'session': 'tomate.session'}

    graph.register_factory('tomate.session', Mock)

    assert isinstance(graph.get('view.taskbutton'), TaskButton)
예제 #6
0
def test_taskbutton_module():
    assert list(TaskButtonModule.providers.keys()) == ['view.taskbutton']

    TaskButtonModule().add_to(graph)
    provider = graph.providers['view.taskbutton']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {'session': 'tomate.session'}

    graph.register_factory('tomate.session', Mock)

    assert isinstance(graph.get('view.taskbutton'), TaskButton)
예제 #7
0
    def test_module(self, *args):
        six.assertCountEqual(self, ["view.timerframe"], TimerFrameModule.providers.keys())

        TimerFrameModule().add_to(graph)

        provider = graph.providers["view.timerframe"]

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)

        self.assertDictEqual({}, provider.dependencies)

        about = graph.get("view.timerframe")
        self.assertIsInstance(about, TimerFrame)
예제 #8
0
def test_toolbar_module():
    assert list(ToolbarModule.providers.keys()) == ['view.toolbar']

    provider = graph.providers['view.toolbar']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope

    assert provider.dependencies == {'session': 'tomate.session',
                                     'appmenu': 'view.appmenu'}

    toolbar = graph.get('view.toolbar')

    assert isinstance(toolbar, Toolbar)
예제 #9
0
    def test_module(self):
        six.assertCountEqual(self, ['view.toolbar'], ToolbarModule.providers.keys())

        provider = graph.providers['view.toolbar']

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)

        self.assertDictEqual({'session': 'tomate.session', 'appmenu': 'view.appmenu'},
                             provider.dependencies)

        toolbar = graph.get('view.toolbar')

        self.assertIsInstance(toolbar, Toolbar)
예제 #10
0
    def test_module(self):
        from tomate.timer import TimerProvider, Timer
        from tomate.graph import graph

        self.assertEqual(['tomate.timer'], TimerProvider.providers.keys())
        TimerProvider().add_to(graph)

        provider = graph.providers['tomate.timer']

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)
        self.assertEqual(provider.dependencies, {'signals': 'tomate.signals'})

        graph.register_instance('tomate.signals', Mock())
        self.assertIsInstance(graph.get('tomate.timer'), Timer)
예제 #11
0
    def test_module(self):
        from yapsy.PluginManagerDecorator import PluginManagerDecorator
        from tomate.plugin import PluginProvider
        from tomate.graph import graph

        PluginProvider().add_to(graph)

        provider = graph.providers['tomate.plugin']
        self.assertEqual(['tomate.plugin'], graph.providers.keys())

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)
        self.assertEqual(provider.dependencies, {})

        plugin_manager = graph.get('tomate.plugin')
        self.assertIsInstance(plugin_manager, PluginManagerDecorator)
예제 #12
0
def test_module():

    assert list(AboutDialogModule.providers.keys()) == ['view.about']

    AboutDialogModule().add_to(graph)

    provider = graph.providers['view.about']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {'config': 'tomate.config'}

    graph.register_factory('tomate.events', Mock)
    graph.register_factory('config.parser', Mock)
    graph.register_factory('tomate.config', Config)

    assert isinstance(graph.get('view.about'), AboutDialog)
예제 #13
0
    def test_module(self):
        six.assertCountEqual(self, ['view.taskbutton'], TaskButtonModule.providers.keys())

        TaskButtonModule().add_to(graph)

        provider = graph.providers['view.taskbutton']

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)

        self.assertDictEqual({'session': 'tomate.session'}, provider.dependencies)

        graph.register_factory('tomate.session', Mock)

        taskbutton = graph.get('view.taskbutton')

        self.assertIsInstance(taskbutton, TaskButton)
예제 #14
0
def test_module():
    assert list(AppmenuModule.providers.keys()) == ['view.appmenu']

    AppmenuModule().add_to(graph)

    provider = graph.providers['view.appmenu']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope

    assert provider.dependencies == {'menu': 'view.menu'}

    menu = Mock(widget=Gtk.Menu())

    graph.register_instance('view.menu', menu)

    assert isinstance(graph.get('view.appmenu'), Appmenu)
예제 #15
0
def test_preference_module():
    config = Mock(**{'get_int.return_value': 25})
    graph.register_instance('tomate.config', config)
    graph.register_factory('tomate.plugin', Mock)
    graph.register_factory('view.preference.extension', ExtensionStack)
    graph.register_factory('view.preference.duration', TimerDurationStack)

    providers = [
        'view.preference',
        'view.preference.duration',
        'view.preference.extension',
    ]

    assert sorted(PreferenceDialogModule.providers.keys()) == providers

    PreferenceDialogModule().add_to(graph)

    # Extension Stack
    provider = graph.providers['view.preference.extension']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {
        'config': 'tomate.config',
        'plugin': 'tomate.plugin'
    }

    # Duration Stack
    provider = graph.providers['view.preference.duration']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {'config': 'tomate.config'}

    # Preference Dialog
    provider = graph.providers['view.preference']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {
        'extension': 'view.preference.extension',
        'duration': 'view.preference.duration'
    }

    preference = graph.get('view.preference')
    assert isinstance(preference, PreferenceDialog)
예제 #16
0
    def test_module(self, *args):
        six.assertCountEqual(self, ['view.appmenu'], AppmenuModule.providers.keys())

        AppmenuModule().add_to(graph)

        provider = graph.providers['view.appmenu']

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)

        self.assertDictEqual({'about': 'view.about', 'preference': 'view.preference', 'graph': Graph},
                             provider.dependencies)

        graph.register_factory('view.preference', Mock)
        graph.register_factory('view.about', Mock)

        appmenu = graph.get('view.appmenu')

        self.assertIsInstance(appmenu, Appmenu)
예제 #17
0
    def test_module(self, *args):
        six.assertCountEqual(self, ['view.about'], AboutDialogModule.providers.keys())

        AboutDialogModule().add_to(graph)

        provider = graph.providers['view.about']

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)

        self.assertDictEqual({'config': 'tomate.config'}, provider.dependencies)

        graph.register_factory('tomate.events', Mock)
        graph.register_factory('config.parser', Mock)
        graph.register_factory('tomate.config', Config)

        about = graph.get('view.about')

        self.assertIsInstance(about, AboutDialog)
예제 #18
0
    def test_module(self, *args):
        providers = [
            'view.preference',
            'view.preference.extension',
            'view.preference.duration',
        ]

        six.assertCountEqual(self, providers, PreferenceDialogModule.providers.keys())

        PreferenceDialogModule().add_to(graph)

        # Extension Stack
        provider = graph.providers['view.preference.extension']
        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)
        self.assertDictEqual({'config': 'tomate.config', 'plugin': 'tomate.plugin'},
                             provider.dependencies)

        # Duration Stack
        provider = graph.providers['view.preference.duration']
        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)
        self.assertDictEqual({'config': 'tomate.config'}, provider.dependencies)

        # Preference Dialog
        provider = graph.providers['view.preference']

        self.assertIsInstance(provider, FactoryProvider)
        self.assertEqual(provider.scope, SingletonScope)

        self.assertDictEqual({'extension': 'view.preference.extension',
                              'duration': 'view.preference.duration'},
                             provider.dependencies)

        config = Mock(**{'get_int.return_value': 25})
        graph.register_instance('tomate.config', config)
        graph.register_factory('tomate.plugin', Mock)
        graph.register_factory('view.preference.extension', ExtensionStack)
        graph.register_factory('view.preference.duration', TimerDurationStack)

        preference = graph.get('view.preference')
        self.assertIsInstance(preference, PreferenceDialog)
예제 #19
0
def test_preference_module():
    config = Mock(**{'get_int.return_value': 25})
    graph.register_instance('tomate.config', config)
    graph.register_factory('tomate.plugin', Mock)
    graph.register_factory('view.preference.extension', ExtensionStack)
    graph.register_factory('view.preference.duration', TimerDurationStack)

    providers = [
        'view.preference',
        'view.preference.duration',
        'view.preference.extension',
    ]

    assert sorted(PreferenceDialogModule.providers.keys()) == providers

    PreferenceDialogModule().add_to(graph)

    # Extension Stack
    provider = graph.providers['view.preference.extension']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {'config': 'tomate.config', 'plugin': 'tomate.plugin'}

    # Duration Stack
    provider = graph.providers['view.preference.duration']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {'config': 'tomate.config'}

    # Preference Dialog
    provider = graph.providers['view.preference']

    assert isinstance(provider, FactoryProvider)
    assert provider.scope == SingletonScope
    assert provider.dependencies == {'extension': 'view.preference.extension',
                                     'duration': 'view.preference.duration'}

    preference = graph.get('view.preference')
    assert isinstance(preference, PreferenceDialog)
예제 #20
0
def test_should_register_tray_icon_provider(plugin):
    plugin.activate()

    assert TrayIcon in graph.providers.keys()
    assert graph.get(TrayIcon) == plugin
    def __init__(self):
        super(StatusIconPlugin, self).__init__()

        self.menu = graph.get('trayicon.menu')
        self.session = graph.get('tomate.session')
        self.widget = self.new_status_icon()
예제 #22
0
def session():
    return graph.get('tomate.session')
예제 #23
0
    def __init__(self):
        super(StatusIconPlugin, self).__init__()

        self.menu = graph.get('trayicon.menu')
        self.session = graph.get('tomate.session')
        self.widget = self.new_status_icon()
예제 #24
0
def test_should_register_tray_icon_provider(plugin):
    plugin.activate()

    assert TrayIcon in graph.providers.keys()
    assert graph.get(TrayIcon) == plugin
예제 #25
0
def session():
    return graph.get('tomate.session')