Exemplo n.º 1
0
 def test_cant_assign_implementation(self):
     from zope.component.hookable import hookable
     foo = fails_if_called(self)
     bar = fails_if_called(self)
     hooked = hookable(foo)
     with self.assertRaises((TypeError, AttributeError)):
         hooked.implementation = bar
Exemplo n.º 2
0
 def test_sethook(self):
     from zope.component.hookable import hookable
     foo = fails_if_called(self)
     bar = fails_if_called(self)
     hooked = hookable(foo)
     hooked.sethook(bar)
     self.assertTrue(hooked.original is foo)
     self.assertTrue(hooked.implementation is bar)
Exemplo n.º 3
0
 def test_ctor_defaults(self):
     func = fails_if_called(self)
     factory = self._makeOne(func)
     self.assertEqual(factory._callable, func)
     self.assertEqual(factory.title, '')
     self.assertEqual(factory.description, '')
     self.assertEqual(factory._interfaces, None)
Exemplo n.º 4
0
 def test_w_factory_w_provides(self):
     from zope.interface import Interface
     from zope.component.interface import provideInterface
     from zope.component.zcml import handler
     class IFoo(Interface):
         pass
     class Foo(object):
         pass
     _handler = fails_if_called(self)
     _cfg_ctx = _makeConfigContext()
     self._callFUT(_cfg_ctx, (Interface,), Foo, provides=IFoo)
     self.assertEqual(len(_cfg_ctx._actions), 3)
     self.assertEqual(_cfg_ctx._actions[0][0], ())
     # Register the adapter
     action =_cfg_ctx._actions[0][1]
     self.assertEqual(action['callable'], handler)
     self.assertEqual(action['discriminator'], None)
     self.assertEqual(action['args'][0], 'registerSubscriptionAdapter')
     self.assertEqual(action['args'][1], Foo)
     self.assertEqual(action['args'][2], (Interface,))
     self.assertEqual(action['args'][3], IFoo)
     self.assertEqual(action['args'][4], '')
     self.assertEqual(action['args'][5], 'TESTING')
     # Register the provided interface
     self.assertEqual(_cfg_ctx._actions[1][0], ())
     action =_cfg_ctx._actions[1][1]
     self.assertEqual(action['callable'], provideInterface)
     self.assertEqual(action['discriminator'], None)
     self.assertEqual(action['args'], ('', IFoo))
     # Register the required interface(s)
     self.assertEqual(_cfg_ctx._actions[2][0], ())
     action =_cfg_ctx._actions[2][1]
     self.assertEqual(action['callable'], provideInterface)
     self.assertEqual(action['discriminator'], None)
     self.assertEqual(action['args'], ('', Interface))
Exemplo n.º 5
0
 def test_no_factory_w_handler_w_provides(self):
     from zope.interface import Interface
     class IFoo(Interface):
         pass
     _handler = fails_if_called(self)
     _cfg_ctx = _makeConfigContext()
     self.assertRaises(TypeError,
                       self._callFUT, _cfg_ctx, (Interface,),
                                      handler=_handler, provides=IFoo)
Exemplo n.º 6
0
 def test_w_factory_w_handler(self):
     from zope.interface import Interface
     class Foo(object):
         pass
     _handler = fails_if_called(self)
     _cfg_ctx = _makeConfigContext()
     self.assertRaises(TypeError,
                       self._callFUT, _cfg_ctx, (Interface,), Foo,
                                      handler=_handler)
Exemplo n.º 7
0
    def test_getInterfaces_implicit(self):
        from zope.interface import Interface
        from zope.interface import implementer

        class IBaz(Interface):
            pass

        _callable = implementer(IBaz)(fails_if_called(self))
        factory = self._makeOne(_callable)
        spec = factory.getInterfaces()
        self.assertEqual(list(spec), [IBaz])
 def test_w_adapts(self):
     from zope.interface import Interface
     from zope.component.globalregistry import getGlobalSiteManager
     class IFoo(Interface):
         pass
     _handler = fails_if_called(self)
     self._callFUT(_handler, (IFoo,))
     gsm = getGlobalSiteManager()
     regs = list(gsm.registeredHandlers())
     self.assertEqual(len(regs), 1)
     hr = regs[0]
     self.assertEqual(list(hr.required), [IFoo])
     self.assertEqual(hr.name, '')
     self.assertTrue(hr.factory is _handler)
Exemplo n.º 9
0
    def test_w_adapts(self):
        from zope.interface import Interface
        from zope.component.globalregistry import getGlobalSiteManager

        class IFoo(Interface):
            pass

        _handler = fails_if_called(self)
        self._callFUT(_handler, (IFoo, ))
        gsm = getGlobalSiteManager()
        regs = list(gsm.registeredHandlers())
        self.assertEqual(len(regs), 1)
        hr = regs[0]
        self.assertEqual(list(hr.required), [IFoo])
        self.assertEqual(hr.name, '')
        self.assertTrue(hr.factory is _handler)
Exemplo n.º 10
0
    def test_getInterfaces_explicit(self):
        from zope.interface import Interface
        from zope.interface import implementer

        class IFoo(Interface):
            pass

        class IBar(Interface):
            pass

        class IBaz(Interface):
            pass

        _callable = fails_if_called(self)
        _callable.__name__ = '_callable'
        _callable = implementer(IBaz)(_callable)
        factory = self._makeOne(_callable, interfaces=(IFoo, IBar))
        spec = factory.getInterfaces()
        self.assertEqual(spec.__name__, '_callable')
        self.assertEqual(list(spec), [IFoo, IBar])
    def test_no_adapts(self):
        from zope.interface import Interface
        from zope.interface import implementer
        from zope.interface import providedBy
        from zope.component.globalregistry import getGlobalSiteManager
        from zope.component._declaration import adapter
        class IFoo(Interface):
            pass
        @implementer(IFoo)
        class Foo(object):
            pass
        _handler = adapter(IFoo)(fails_if_called(self))

        self._callFUT(_handler)
        gsm = getGlobalSiteManager()
        regs = list(gsm.registeredHandlers())
        self.assertEqual(len(regs), 1)
        hr = regs[0]
        self.assertEqual(list(hr.required), list(providedBy(Foo())))
        self.assertEqual(hr.name, '')
        self.assertTrue(hr.factory is _handler)
Exemplo n.º 12
0
 def test_no_factory_w_handler_no_provides(self):
     from zope.interface import Interface
     from zope.component.interface import provideInterface
     from zope.component.zcml import handler
     _handler = fails_if_called(self)
     _cfg_ctx = _makeConfigContext()
     self._callFUT(_cfg_ctx, (Interface,), handler=_handler)
     self.assertEqual(len(_cfg_ctx._actions), 2)
     self.assertEqual(_cfg_ctx._actions[0][0], ())
     # Register the adapter
     action =_cfg_ctx._actions[0][1]
     self.assertEqual(action['callable'], handler)
     self.assertEqual(action['discriminator'], None)
     self.assertEqual(action['args'][0], 'registerHandler')
     self.assertEqual(action['args'][1], _handler)
     self.assertEqual(action['args'][2], (Interface,))
     self.assertEqual(action['args'][3], '')
     self.assertEqual(action['args'][4], 'TESTING')
     # Register the required interface(s)
     self.assertEqual(_cfg_ctx._actions[1][0], ())
     action =_cfg_ctx._actions[1][1]
     self.assertEqual(action['callable'], provideInterface)
     self.assertEqual(action['discriminator'], None)
     self.assertEqual(action['args'], ('', Interface))
Exemplo n.º 13
0
    def test_no_adapts(self):
        from zope.interface import Interface
        from zope.interface import implementer
        from zope.interface import providedBy
        from zope.component.globalregistry import getGlobalSiteManager
        from zope.component._api import adapter

        class IFoo(Interface):
            pass

        @implementer(IFoo)
        class Foo(object):
            pass

        _handler = adapter(IFoo)(fails_if_called(self))

        self._callFUT(_handler)
        gsm = getGlobalSiteManager()
        regs = list(gsm.registeredHandlers())
        self.assertEqual(len(regs), 1)
        hr = regs[0]
        self.assertEqual(list(hr.required), list(providedBy(Foo())))
        self.assertEqual(hr.name, '')
        self.assertTrue(hr.factory is _handler)
Exemplo n.º 14
0
 def test_ctor_extra_arg_miss(self):
     from zope.component.hookable import hookable
     foo = fails_if_called(self)
     self.assertRaises(TypeError, hookable, foo, nonesuch=foo)
Exemplo n.º 15
0
 def test_cant_delete_original(self):
     from zope.component.hookable import hookable
     foo = fails_if_called(self)
     hooked = hookable(foo)
     with self.assertRaises((TypeError, AttributeError)):
         del hooked.original
Exemplo n.º 16
0
 class Foo(object):
     __conform__ = fails_if_called(self, arguments=False)
Exemplo n.º 17
0
 class _Context(object):
     bar = fails_if_called(self)
Exemplo n.º 18
0
 class _Factory(object):
     __slots__ = ('one', )
     bar = fails_if_called(self)
Exemplo n.º 19
0
 class _Factory(object):
     bar = fails_if_called(self)
Exemplo n.º 20
0
 class _Registration(object):
     factory = fails_if_called(self)
Exemplo n.º 21
0
 class _Registration(object):
     handler = fails_if_called(self)
Exemplo n.º 22
0
 class Global(object):
     __init__ = fails_if_called(self)
Exemplo n.º 23
0
 def test_ctor_expclit(self):
     factory = self._makeOne(fails_if_called(self), 'TITLE', 'DESCRIPTION')
     self.assertEqual(factory.title, 'TITLE')
     self.assertEqual(factory.description, 'DESCRIPTION')
Exemplo n.º 24
0
 def _makeOne(self, callable=None, *args, **kw):
     if callable is None:
         callable = fails_if_called(self)
     return self._getTargetClass()(callable, *args, **kw)