Пример #1
0
    def test_call(self):
        def func_a(*args, **kwargs):
            self._args_a = args
            self._kwargs_a = kwargs
            return "im func_a"

        def func_b(*args, **kwargs):
            self._args_b = args
            self._kwargs_b = kwargs
            return "im func_b"

        # initial hook should not have registered callbacks
        myhook = TemplateHook()
        self.assertListEqual(myhook(), [])

        # calling hook should return a list of callback responses
        myhook.register(func_a)
        myhook.register(func_b)
        self.assertListEqual(myhook(), ["im func_a", "im func_b"])

        # passing arguments to callbacks should be ok
        myhook("foo", extra="bar")
        self.assertEqual(self._args_a, ("foo", ))
        self.assertDictEqual(self._kwargs_a, {'extra': "bar", })

        self.assertEqual(self._args_b, ("foo", ))
        self.assertDictEqual(self._kwargs_b, {'extra': "bar", })
Пример #2
0
    def test_call(self):
        def func_a(*args, **kwargs):
            self._args_a = args
            self._kwargs_a = kwargs
            return "im func_a"

        def func_b(*args, **kwargs):
            self._args_b = args
            self._kwargs_b = kwargs
            return "im func_b"

        # initial hook should not have registered callbacks
        myhook = TemplateHook()
        self.assertListEqual(myhook(), [])

        # calling hook should return a list of callback responses
        myhook.register(func_a)
        myhook.register(func_b)
        self.assertListEqual(myhook(), ["im func_a", "im func_b"])

        # passing arguments to callbacks should be ok
        myhook("foo", extra="bar")
        self.assertEqual(self._args_a, ("foo", ))
        self.assertDictEqual(self._kwargs_a, {
            'extra': "bar",
        })

        self.assertEqual(self._args_b, ("foo", ))
        self.assertDictEqual(self._kwargs_b, {
            'extra': "bar",
        })
Пример #3
0
    def test_register(self):
        def func():
            pass

        myhook = TemplateHook()
        myhook.register(func)
        self.assertListEqual(myhook._registry, [func, ])

        # try to register a non callable
        self.assertRaises(AssertionError, myhook.register, "foo")
Пример #4
0
    def test_register(self):
        def func():
            pass

        myhook = TemplateHook()
        myhook.register(func)
        self.assertListEqual(myhook._registry, [
            func,
        ])

        # try to register a non callable
        self.assertRaises(AssertionError, myhook.register, "foo")
Пример #5
0
    def test_unregister(self):
        def func():
            pass

        # register new callback
        myhook = TemplateHook()
        myhook.register(func)
        self.assertListEqual(myhook._registry, [
            func,
        ])

        # unregister callback
        myhook.unregister(func)
        self.assertListEqual(myhook._registry, [])

        # try to unregister twice should do nothing
        myhook.unregister(func)
        self.assertListEqual(myhook._registry, [])
Пример #6
0
    def test_unregister(self):
        def func():
            pass

        # register new callback
        myhook = TemplateHook()
        myhook.register(func)
        self.assertListEqual(myhook._registry, [func, ])

        # unregister callback
        myhook.unregister(func)
        self.assertListEqual(myhook._registry, [])

        # try to unregister twice should do nothing
        myhook.unregister(func)
        self.assertListEqual(myhook._registry, [])
Пример #7
0
# -*- coding: utf-8 -*-

from __future__ import unicode_literals

from hooks.templatehook import TemplateHook


myhook = TemplateHook(providing_args=["foo", ])
Пример #8
0
 def test_instance(self):
     myhook = TemplateHook(providing_args=["foo", "bar"])
     self.assertListEqual(myhook.providing_args, ["foo", "bar"])