def test_unregister(self): def func(): pass hook.register("foo-hook", func) hook.unregister("foo-hook", func) self.assertListEqual(hook._registry["foo-hook"]._registry, [])
def test_register(self): def func_a(): pass def func_b(): pass hook.register("foo-hook", func_a) self.assertIsInstance(hook._registry["foo-hook"], TemplateHook) self.assertListEqual(hook._registry["foo-hook"]._registry, [func_a, ]) hook.register("foo-hook", func_b) self.assertListEqual(hook._registry["foo-hook"]._registry, [func_a, func_b])
def test_hook_tag(self): def func(context, *args, **kwargs): self.assertEqual(args, ("foobar",)) self.assertEqual(kwargs, {"bar": "bar"}) self.assertEqual(context["foo"], "foo") return "hello" hook.register(self.hook_name, func) out = Template("{% load hooks_tags %}" "{% hook hook_name 'foobar' bar='bar' %}").render( Context({"hook_name": self.hook_name, "foo": "foo"}) ) self.assertEqual(out, "hello")
def test_hook_tag(self): def func(context, *args, **kwargs): self.assertEqual(args, ("foobar", )) self.assertEqual(kwargs, {'bar': "bar", }) self.assertEqual(context['foo'], "foo") return "hello" hook.register(self.hook_name, func) out = Template( "{% load hooks_tags %}" "{% hook hook_name 'foobar' bar='bar' %}" ).render(Context({"hook_name": self.hook_name, "foo": "foo", })) self.assertEqual(out, u"hello")
def test_hook_tag_mark_safe(self): """ Should not escape safe strings """ def func(*args, **kwargs): return mark_safe("<span>hello</span>") hook.register(self.hook_name, func) out = Template( "{% load hooks_tags %}" "{% hook hook_name 'foobar' %}" ).render(Context({"hook_name": self.hook_name, })) self.assertEqual(out, "<span>hello</span>")
def test_hook_tag_escaped(self): """ Should escape responses (if they are not marked as safe) """ def func(*args, **kwargs): return "<span>hello</span>" hook.register(self.hook_name, func) out = Template( "{% load hooks_tags %}" "{% hook hook_name 'foobar' %}" ).render(Context({"hook_name": self.hook_name, })) self.assertEqual(out, "<span>hello</span>")
def test_hook_tag_mark_safe(self): """ Should not escape safe strings """ def func(*args, **kwargs): return mark_safe("<span>hello</span>") hook.register(self.hook_name, func) out = Template("{% load hooks_tags %}" "{% hook hook_name 'foobar' %}").render( Context({"hook_name": self.hook_name}) ) self.assertEqual(out, "<span>hello</span>")
def test_hook_tag_escaped(self): """ Should escape responses (if they are not marked as safe) """ def func(*args, **kwargs): return "<span>hello</span>" hook.register(self.hook_name, func) out = Template("{% load hooks_tags %}" "{% hook hook_name 'foobar' %}").render( Context({"hook_name": self.hook_name}) ) self.assertEqual(out, "<span>hello</span>")
def test_register(self): def func_a(): pass def func_b(): pass hook.register("foo-hook", func_a) self.assertIsInstance(hook._registry["foo-hook"], TemplateHook) self.assertListEqual(hook._registry["foo-hook"]._registry, [ func_a, ]) hook.register("foo-hook", func_b) self.assertListEqual(hook._registry["foo-hook"]._registry, [func_a, func_b])
def test_hook_tag_many(self): """ Should join multiple responses """ def func_a(*args, **kwargs): return "hello" def func_b(*args, **kwargs): return "goodbye" hook.register(self.hook_name, func_a) hook.register(self.hook_name, func_b) out = Template( "{% load hooks_tags %}" "{% hook hook_name 'foobar' %}" ).render(Context({"hook_name": self.hook_name, })) self.assertEqual(out, "hello\ngoodbye")
def test_hook_tag_many(self): """ Should join multiple responses """ def func_a(*args, **kwargs): return "hello" def func_b(*args, **kwargs): return "goodbye" hook.register(self.hook_name, func_a) hook.register(self.hook_name, func_b) out = Template("{% load hooks_tags %}" "{% hook hook_name 'foobar' %}").render( Context({"hook_name": self.hook_name}) ) self.assertEqual(out, "hello\ngoodbye")
def ready(self): from hooks.templatehook import hook from officer_allocation.template_hooks import navbar hook.register("navbar", navbar) hook.register("landing_page_navbar", navbar)
def ready(self): from hooks.templatehook import hook from views import detailhtml hook.register('detail_form', detailhtml)