[Zope-Checkins] SVN: Zope/trunk/lib/python/OFS/tests/testCopySupportEvents.py Repair (and simplify) tests in response to
Log message for revision 74109: Repair (and simplify) tests in response to http://www.zope.org/Collectors/Zope/2308. Changed: U Zope/trunk/lib/python/OFS/tests/testCopySupportEvents.py -=- Modified: Zope/trunk/lib/python/OFS/tests/testCopySupportEvents.py === --- Zope/trunk/lib/python/OFS/tests/testCopySupportEvents.py2007-04-12 14:56:25 UTC (rev 74108) +++ Zope/trunk/lib/python/OFS/tests/testCopySupportEvents.py2007-04-12 18:19:57 UTC (rev 74109) @@ -15,15 +15,7 @@ from zope import interface from zope import component -from zope.app.container.interfaces import IObjectAddedEvent -from zope.app.container.interfaces import IObjectMovedEvent -from zope.app.container.interfaces import IObjectRemovedEvent -from zope.app.container.interfaces import IContainerModifiedEvent -from zope.lifecycleevent.interfaces import IObjectCopiedEvent -from OFS.interfaces import IObjectWillBeAddedEvent -from OFS.interfaces import IObjectWillBeMovedEvent -from OFS.interfaces import IObjectWillBeRemovedEvent -from OFS.interfaces import IObjectClonedEvent +from zope.component.interfaces import IObjectEvent from zope.testing import cleanup from Products.Five import zcml @@ -35,7 +27,7 @@ def reset(self): self._called = [] def trace(self, ob, event): -self._called.append((ob.getId(), event)) +self._called.append((ob.getId(), event.__class__.__name__)) def called(self): return self._called @@ -62,57 +54,6 @@ pass # Always allow -def objectAddedEvent(ob, event): -eventlog.trace(ob, 'ObjectAddedEvent') - -def objectCopiedEvent(ob, event): -eventlog.trace(ob, 'ObjectCopiedEvent') - -def objectMovedEvent(ob, event): -if IObjectAddedEvent.providedBy(event): -return -if IObjectRemovedEvent.providedBy(event): -return -eventlog.trace(ob, 'ObjectMovedEvent') - -def objectRemovedEvent(ob, event): -eventlog.trace(ob, 'ObjectRemovedEvent') - -def containerModifiedEvent(ob, event): -eventlog.trace(ob, 'ContainerModifiedEvent') - -def objectWillBeAddedEvent(ob, event): -eventlog.trace(ob, 'ObjectWillBeAddedEvent') - -def objectWillBeMovedEvent(ob, event): -if IObjectWillBeAddedEvent.providedBy(event): -return -if IObjectWillBeRemovedEvent.providedBy(event): -return -eventlog.trace(ob, 'ObjectWillBeMovedEvent') - -def objectWillBeRemovedEvent(ob, event): -eventlog.trace(ob, 'ObjectWillBeRemovedEvent') - -def objectClonedEvent(ob, event): -eventlog.trace(ob, 'ObjectClonedEvent') - - -def setUpItemSubscribers(interface): -component.provideHandler(objectAddedEvent, (interface, IObjectAddedEvent)) -component.provideHandler(objectCopiedEvent, (interface, IObjectCopiedEvent)) -component.provideHandler(objectMovedEvent, (interface, IObjectMovedEvent)) -component.provideHandler(objectRemovedEvent, (interface, IObjectRemovedEvent)) -component.provideHandler(objectWillBeAddedEvent, (interface, IObjectWillBeAddedEvent)) -component.provideHandler(objectWillBeMovedEvent, (interface, IObjectWillBeMovedEvent)) -component.provideHandler(objectWillBeRemovedEvent, (interface, IObjectWillBeRemovedEvent)) -component.provideHandler(objectClonedEvent, (interface, IObjectClonedEvent)) - -def setUpFolderSubscribers(interface): -setUpItemSubscribers(interface) -component.provideHandler(containerModifiedEvent, (interface, IContainerModifiedEvent)) - - class EventLayer: @classmethod @@ -120,8 +61,8 @@ cleanup.cleanUp() zcml._initialized = 0 zcml.load_site() -setUpItemSubscribers(ITestItem) -setUpFolderSubscribers(ITestFolder) +component.provideHandler(eventlog.trace, (ITestItem, IObjectEvent)) +component.provideHandler(eventlog.trace, (ITestFolder, IObjectEvent)) @classmethod def tearDown(cls): @@ -271,19 +212,26 @@ # Reset event log eventlog.reset() +def assertEqual(self, first, second, msg=None): +# XXX: Compare sets as the order of event handlers cannot be +# relied on between objects. +if not set(first) == set(second): +raise self.failureException, \ +(msg or '%r != %r' % (first, second)) + def test_1_Clone(self): # Test clone self.subfolder.manage_clone(self.folder.myfolder, 'myfolder') self.assertEqual(eventlog.called(), -[('mydoc', 'ObjectCopiedEvent'), - ('myfolder', 'ObjectCopiedEvent'), - ('mydoc', 'ObjectWillBeAddedEvent'), +[('myfolder', 'ObjectCopiedEvent'), + ('mydoc', 'ObjectCopiedEvent'), ('myfolder', 'ObjectWillBeAddedEvent'), - ('mydoc', 'ObjectAddedEvent'), + ('mydoc', 'ObjectWillBeAddedEvent'), ('myfolder', 'ObjectAddedEvent'), + ('mydoc', 'ObjectAddedEvent'),
[Zope-Checkins] SVN: Zope/branches/2.10/lib/python/OFS/tests/testCopySupportEvents.py Merged trunk r74108:74109 into 2.10 branch.
Log message for revision 74110: Merged trunk r74108:74109 into 2.10 branch. Repair (and simplify) tests in response to http://www.zope.org/Collectors/Zope/2308. Changed: U Zope/branches/2.10/lib/python/OFS/tests/testCopySupportEvents.py -=- Modified: Zope/branches/2.10/lib/python/OFS/tests/testCopySupportEvents.py === --- Zope/branches/2.10/lib/python/OFS/tests/testCopySupportEvents.py 2007-04-12 18:19:57 UTC (rev 74109) +++ Zope/branches/2.10/lib/python/OFS/tests/testCopySupportEvents.py 2007-04-12 18:33:59 UTC (rev 74110) @@ -15,15 +15,7 @@ from zope import interface from zope import component -from zope.app.container.interfaces import IObjectAddedEvent -from zope.app.container.interfaces import IObjectMovedEvent -from zope.app.container.interfaces import IObjectRemovedEvent -from zope.app.container.interfaces import IContainerModifiedEvent -from zope.lifecycleevent.interfaces import IObjectCopiedEvent -from OFS.interfaces import IObjectWillBeAddedEvent -from OFS.interfaces import IObjectWillBeMovedEvent -from OFS.interfaces import IObjectWillBeRemovedEvent -from OFS.interfaces import IObjectClonedEvent +from zope.component.interfaces import IObjectEvent from zope.testing import cleanup from Products.Five import zcml @@ -35,7 +27,7 @@ def reset(self): self._called = [] def trace(self, ob, event): -self._called.append((ob.getId(), event)) +self._called.append((ob.getId(), event.__class__.__name__)) def called(self): return self._called @@ -62,57 +54,6 @@ pass # Always allow -def objectAddedEvent(ob, event): -eventlog.trace(ob, 'ObjectAddedEvent') - -def objectCopiedEvent(ob, event): -eventlog.trace(ob, 'ObjectCopiedEvent') - -def objectMovedEvent(ob, event): -if IObjectAddedEvent.providedBy(event): -return -if IObjectRemovedEvent.providedBy(event): -return -eventlog.trace(ob, 'ObjectMovedEvent') - -def objectRemovedEvent(ob, event): -eventlog.trace(ob, 'ObjectRemovedEvent') - -def containerModifiedEvent(ob, event): -eventlog.trace(ob, 'ContainerModifiedEvent') - -def objectWillBeAddedEvent(ob, event): -eventlog.trace(ob, 'ObjectWillBeAddedEvent') - -def objectWillBeMovedEvent(ob, event): -if IObjectWillBeAddedEvent.providedBy(event): -return -if IObjectWillBeRemovedEvent.providedBy(event): -return -eventlog.trace(ob, 'ObjectWillBeMovedEvent') - -def objectWillBeRemovedEvent(ob, event): -eventlog.trace(ob, 'ObjectWillBeRemovedEvent') - -def objectClonedEvent(ob, event): -eventlog.trace(ob, 'ObjectClonedEvent') - - -def setUpItemSubscribers(interface): -component.provideHandler(objectAddedEvent, (interface, IObjectAddedEvent)) -component.provideHandler(objectCopiedEvent, (interface, IObjectCopiedEvent)) -component.provideHandler(objectMovedEvent, (interface, IObjectMovedEvent)) -component.provideHandler(objectRemovedEvent, (interface, IObjectRemovedEvent)) -component.provideHandler(objectWillBeAddedEvent, (interface, IObjectWillBeAddedEvent)) -component.provideHandler(objectWillBeMovedEvent, (interface, IObjectWillBeMovedEvent)) -component.provideHandler(objectWillBeRemovedEvent, (interface, IObjectWillBeRemovedEvent)) -component.provideHandler(objectClonedEvent, (interface, IObjectClonedEvent)) - -def setUpFolderSubscribers(interface): -setUpItemSubscribers(interface) -component.provideHandler(containerModifiedEvent, (interface, IContainerModifiedEvent)) - - class EventLayer: @classmethod @@ -120,8 +61,8 @@ cleanup.cleanUp() zcml._initialized = 0 zcml.load_site() -setUpItemSubscribers(ITestItem) -setUpFolderSubscribers(ITestFolder) +component.provideHandler(eventlog.trace, (ITestItem, IObjectEvent)) +component.provideHandler(eventlog.trace, (ITestFolder, IObjectEvent)) @classmethod def tearDown(cls): @@ -271,19 +212,26 @@ # Reset event log eventlog.reset() +def assertEqual(self, first, second, msg=None): +# XXX: Compare sets as the order of event handlers cannot be +# relied on between objects. +if not set(first) == set(second): +raise self.failureException, \ +(msg or '%r != %r' % (first, second)) + def test_1_Clone(self): # Test clone self.subfolder.manage_clone(self.folder.myfolder, 'myfolder') self.assertEqual(eventlog.called(), -[#('mydoc', 'ObjectCopiedEvent'), - ('myfolder', 'ObjectCopiedEvent'), - ('mydoc', 'ObjectWillBeAddedEvent'), +[('myfolder', 'ObjectCopiedEvent'), + #('mydoc', 'ObjectCopiedEvent'), ('myfolder', 'ObjectWillBeAddedEvent'), - ('mydoc', 'ObjectAddedEvent'), + ('mydoc', 'ObjectWillBeAddedEvent'),