File: test_plugin_api.py

package info (click to toggle)
qgis 2.18.28%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,007,948 kB
  • sloc: cpp: 671,774; python: 158,539; xml: 35,690; ansic: 8,346; sh: 1,766; perl: 1,669; sql: 999; yacc: 836; lex: 461; makefile: 292
file content (34 lines) | stat: -rw-r--r-- 1,161 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from nose2 import events, session
from nose2.tests._common import TestCase


class Example(events.Plugin):
    commandLineSwitch = ('X', 'xxx', 'triple x')

    def testOutcome(self, event):
        pass


class TestPluginApi(TestCase):

    def setUp(self):
        self.session = session.Session()
        self.plug = Example(session=self.session)
        super(TestCase, self).setUp()

    def test_add_option_adds_option(self):
        helpt = self.session.argparse.format_help()
        assert '-X, --xxx' in helpt, \
            "commandLineSwitch arg not found in help text: %s" % helpt

    def test_short_opt_registers_plugin(self):
        args, argv = self.session.argparse.parse_known_args(['-X'])
        assert self.plug in self.session.plugins
        assert self.plug in self.session.hooks.testOutcome.plugins, \
            "short opt did not register plugin"

    def test_long_opt_registers_plugin(self):
        args, argv = self.session.argparse.parse_known_args(['--xxx'])
        assert self.plug in self.session.plugins
        assert self.plug in self.session.hooks.testOutcome.plugins, \
            "long opt did not register plugin"