def setUp(self):
        sys.argv = [
            'doesnotmatter.py', 'interactive',
            'special://my.plugin.id/testpath/'
        ]
        self.plugin = Plugin('My Plugin', 'my.plugin.id')

        @self.plugin.route('/videos/')
        def show_videos():
            return 'videos'
 def test_init(self):
     plugin = Plugin('My Plugin', 'my.plugin.id')
     self.assertEqual(plugin._name, 'My Plugin')
     self.assertEqual(plugin._plugin_id, 'my.plugin.id')
     self.assertEqual(plugin._argv0, 'special://my.plugin.id/')
     self.assertEqual(plugin._argv1, '0')
     self.assertEqual(plugin._argv2, '?foo=bar')
     self.assertEqual(plugin.qs_args, {'foo': 'bar'})
     self.assertEqual(plugin.handle, 0)
     self.assertEqual(plugin.scheme, 'special')
     self.assertEqual(plugin.netloc, plugin._plugin_id)
     self.assertEqual(plugin.path, '/')
 def test_init_2_args(self):
     sys.argv = ['doesnotmatter.py', 'interactive']
     plugin = Plugin('My Plugin', 'my.plugin.id')
     self.assertEqual(plugin._name, 'My Plugin')
     self.assertEqual(plugin._plugin_id, 'my.plugin.id')
     self.assertEqual(plugin._argv0, 'special://my.plugin.id/')
     self.assertEqual(plugin._argv1, '0')
     self.assertEqual(plugin._argv2, '?')
     self.assertEqual(plugin.qs_args, {})
     self.assertEqual(plugin.handle, 0)
     self.assertEqual(plugin.scheme, 'special')
     self.assertEqual(plugin.netloc, plugin._plugin_id)
     self.assertEqual(plugin.path, '/')
 def setUp(self):
     self.plugin = Plugin('My Plugin', 'my.plugin.id')
 def setUp(self):
     self.plugin = Plugin('My Plugin', 'my.plugin.id')
     self.module = Module('mymodule')