示例#1
0
 def test_wo_hooks(self):
     from zope.copy.examples import Demo
     demo = Demo()
     demo.freeze()
     self.assertTrue(demo.isFrozen())
     copied = self._callFUT(demo)
     self.assertFalse(copied is demo)
     self.assertTrue(isinstance(copied, Demo))
     self.assertTrue(copied.isFrozen())
示例#2
0
 def test_clears_attrs(self):
     from zope.copy.examples import Demo
     parent = Demo()
     demo = Demo()
     demo.__parent__ = parent
     demo.__name__ = 'demo'
     copied = self._callFUT(demo)
     self.assertFalse(copied is demo)
     self.assertTrue(isinstance(copied, Demo))
     self.assertEqual(copied.__parent__, None)
     self.assertEqual(copied.__name__, None)
示例#3
0
 def test_w_simple_hook(self):
     from zope.copy.interfaces import ICopyHook
     from zope.copy.examples import Data
     from zope.copy.examples import Demo
     demo = Demo()
     demo.freeze()
     class Hook(object):
         def __init__(self, context):
             self.context = context
         def __call__(self, obj, register):
             return None
     def _adapt(iface, obj):
         if iface is ICopyHook and isinstance(obj, Data):
             return Hook(obj)
     _registerAdapterHook(_adapt)
     copied = self._callFUT(demo)
     self.assertFalse(copied is demo)
     self.assertTrue(isinstance(copied, Demo))
     self.assertFalse(copied.isFrozen())