test_plugin.py
46 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
Brian Granger
|
r2738 | """Tests for plugin.py""" | ||
#----------------------------------------------------------------------------- | ||||
# Imports | ||||
#----------------------------------------------------------------------------- | ||||
from unittest import TestCase | ||||
from IPython.core.plugin import Plugin, PluginManager | ||||
#----------------------------------------------------------------------------- | ||||
# Tests | ||||
#----------------------------------------------------------------------------- | ||||
class FooPlugin(Plugin): | ||||
pass | ||||
class BarPlugin(Plugin): | ||||
pass | ||||
class BadPlugin(object): | ||||
pass | ||||
class PluginTest(TestCase): | ||||
def setUp(self): | ||||
self.manager = PluginManager() | ||||
def test_register_get(self): | ||||
self.assertEquals(None, self.manager.get_plugin('foo')) | ||||
foo = FooPlugin() | ||||
self.manager.register_plugin('foo', foo) | ||||
self.assertEquals(foo, self.manager.get_plugin('foo')) | ||||
bar = BarPlugin() | ||||
self.assertRaises(KeyError, self.manager.register_plugin, 'foo', bar) | ||||
bad = BadPlugin() | ||||
self.assertRaises(TypeError, self.manager.register_plugin, 'bad') | ||||
def test_unregister(self): | ||||
foo = FooPlugin() | ||||
self.manager.register_plugin('foo', foo) | ||||
self.manager.unregister_plugin('foo') | ||||
self.assertEquals(None, self.manager.get_plugin('foo')) | ||||