Пример #1
0
 def test_it_attach_method_as_hook_to_class_with_rulename(self):
     hooks = {}
     cls = mock.Mock(__name__='cls', _hooks=hooks)
     del cls.fn
     fn = mock.Mock(__name__='fn')
     meta.hook(cls, 'hookname')(fn)
     self.assertIs(fn, cls.fn)
     cls.set_one.assert_call_once_with(hooks, 'cls.hookname', fn)
Пример #2
0
 def test_it_attach_method_as_hook_to_class(self):
     hooks = {}
     cls = mock.Mock(__name__='cls', _hooks=hooks)
     del cls.fn
     fn = mock.Mock(__name__='fn')
     meta.hook(cls)(fn)
     self.assertIs(fn, cls.fn)
     cls.set_one.assert_call_once_with(hooks, 'cls.fn', fn)
Пример #3
0
 def test_it_does_not_attach_a_hook_if_method_already_exist(self):
     cls = mock.Mock(__name__='cls')
     method = mock.Mock(__name__='method')
     with self.assertRaises(AttributeError):
         meta.hook(cls, 'rulename')(method)
Пример #4
0
    def hook(cls, hook_name=None, erase=False):
        from pyrser.meta import hook

        return hook(cls, hook_name, erase)
Пример #5
0
 def test_it_does_not_attach_a_hook_if_method_already_exist(self):
     cls = mock.Mock(__name__='cls')
     method = mock.Mock(__name__='method')
     with self.assertRaises(AttributeError):
         meta.hook(cls, 'rulename')(method)