def test_miss(self): from zope.interface import Interface from zope.component import queryAdapterInContext class IFoo(Interface): pass self.assertEqual( queryAdapterInContext(object(), IFoo, context=None), None)
def test_miss(self): from zope.interface import Interface from zope.component import queryAdapterInContext class IFoo(Interface): pass self.assertEqual(queryAdapterInContext(object(), IFoo, context=None), None)
def testAdapterInContext(self): class I1(Interface): pass class I2(Interface): pass class C(object): implements(I1) def __conform__(self, iface, default=None): if iface == I2: return 42 ob = C() servicemanager = StubServiceService() context = ConformsToIServiceService(servicemanager) class I3(Interface): pass servicemanager.sm.provideAdapter((I1,), I3, '', lambda x: 43) # If an object implements the interface you want to adapt to, # getAdapterInContext should simply return the object. self.assertEquals(getAdapterInContext(ob, I1, context), ob) self.assertEquals(queryAdapterInContext(ob, I1, context), ob) # If an object conforms to the interface you want to adapt to, # getAdapterInContext should simply return the conformed object. self.assertEquals(getAdapterInContext(ob, I2, context), 42) self.assertEquals(queryAdapterInContext(ob, I2, context), 42) class I4(Interface): pass # If an adapter isn't registered for the given object and interface, # and you provide no default, raise ComponentLookupError... self.assertRaises(ComponentLookupError, getAdapterInContext, ob, I4, context) # ...otherwise, you get the default self.assertEquals(queryAdapterInContext(ob, I4, context, 44), 44) # If you ask for an adapter for which something's registered # you get the registered adapter self.assertEquals(getAdapterInContext(ob, I3, context), 43) self.assertEquals(queryAdapterInContext(ob, I3, context), 43)
def test_w_object_implementing(self): from zope.interface import Interface from zope.interface import implementer from zope.component import queryAdapterInContext class IFoo(Interface): pass @implementer(IFoo) class Foo(object): pass foo = Foo() self.assertTrue( queryAdapterInContext(foo, IFoo, context=None) is foo)
def test___conform___raises_TypeError_via_class(self): from zope.interface import Interface from zope.component import queryAdapterInContext class IFoo(Interface): pass _adapted = object() class Foo(object): def __conform__(self, iface, default=None): if iface is IFoo: return _adapted return default # call via class, triggering TypeError self.assertEqual(queryAdapterInContext(Foo, IFoo, context=None), None)
def test_w_object_conforming(self): from zope.interface import Interface from zope.component import queryAdapterInContext class IFoo(Interface): pass _adapted = object() class Foo(object): def __conform__(self, iface, default=None): if iface is IFoo: return _adapted return default self.assertTrue( queryAdapterInContext(Foo(), IFoo, context=None) is _adapted)
def test_w_object_implementing(self): from zope.interface import Interface from zope.interface import implementer from zope.component import queryAdapterInContext class IFoo(Interface): pass @implementer(IFoo) class Foo(object): pass foo = Foo() self.assertTrue(queryAdapterInContext(foo, IFoo, context=None) is foo)
def _callFUT(self, *args, **kw): from zope.component import queryAdapterInContext return queryAdapterInContext(*args, **kw)