Log message for revision 114578: Stop importing BTreeFolder2 from inside core Zope2
Changed: U Zope/trunk/src/OFS/tests/event.txt U Zope/trunk/src/OFS/tests/test_event.py U Zope/trunk/src/Products/Five/browser/tests/adding.txt -=- Modified: Zope/trunk/src/OFS/tests/event.txt =================================================================== --- Zope/trunk/src/OFS/tests/event.txt 2010-07-11 11:59:33 UTC (rev 114577) +++ Zope/trunk/src/OFS/tests/event.txt 2010-07-11 12:04:04 UTC (rev 114578) @@ -34,7 +34,7 @@ for our tests. >>> from OFS.tests.test_event import MyApp, MyContent - >>> from OFS.tests.test_event import MyFolder, MyBTreeFolder + >>> from OFS.tests.test_event import MyFolder >>> from OFS.tests.test_event import MyOrderedFolder >>> app = MyApp('') @@ -44,10 +44,6 @@ old manage_afterAdd folder folder 'folder' >>> folder = app.folder - >>> btfolder = MyBTreeFolder('btfolder') - >>> app._setObject('btfolder', btfolder) # doctest: +NORMALIZE_WHITESPACE - old manage_afterAdd btfolder btfolder - 'btfolder' To observe what object events are dispatched, we'll have some subscribers print them. We'll actually do that for a specific interface, @@ -235,22 +231,6 @@ >>> res.getId() 'strawberry' -Events are also sent when we work with a BTreeFolder:: - - >>> ob = MyContent('luckyluke') - >>> btfolder._setObject('luckyluke', ob) - ObjectWillBeAddedEvent luckyluke - ObjectAddedEvent luckyluke - old manage_afterAdd luckyluke luckyluke btfolder - ContainerModifiedEvent btfolder - 'luckyluke' - - >>> btfolder.manage_delObjects('luckyluke') - ObjectWillBeRemovedEvent luckyluke - old manage_beforeDelete luckyluke luckyluke btfolder - ObjectRemovedEvent luckyluke - ContainerModifiedEvent btfolder - Here is what happens for a tree of objects. Let's create a simple one:: >>> subfolder = MyFolder('subfolder') @@ -374,23 +354,6 @@ >>> res.getId() 'phb' -Also on a BTreeFolder:: - - >>> ob = MyNewContent('alice') - >>> btfolder._setObject('alice', ob) - ObjectWillBeAddedEvent alice - ObjectAddedEvent alice - ContainerModifiedEvent btfolder - 'alice' - >>> btfolder.manage_renameObject('alice', 'rabbit') - ObjectWillBeMovedEvent alice - ObjectMovedEvent rabbit - ContainerModifiedEvent btfolder - >>> btfolder.manage_delObjects('rabbit') - ObjectWillBeRemovedEvent rabbit - ObjectRemovedEvent rabbit - ContainerModifiedEvent btfolder - Now for a tree of objects. Let's create a simple one:: >>> subfolder = MyNewFolder('subfolder') Modified: Zope/trunk/src/OFS/tests/test_event.py =================================================================== --- Zope/trunk/src/OFS/tests/test_event.py 2010-07-11 11:59:33 UTC (rev 114577) +++ Zope/trunk/src/OFS/tests/test_event.py 2010-07-11 12:04:04 UTC (rev 114578) @@ -22,7 +22,6 @@ from OFS.SimpleItem import SimpleItem from OFS.Folder import Folder from OFS.OrderedFolder import OrderedFolder -from Products.BTreeFolder2.BTreeFolder2 import BTreeFolder2 from zope.component import testing, eventtesting @@ -64,10 +63,6 @@ class MyOrderedFolder(NotifyBase, OrderedFolder): pass -class MyBTreeFolder(NotifyBase, BTreeFolder2): - def _verifyObjectPaste(self, object, validate_src=1): - pass - class MyContent(NotifyBase, SimpleItem): def __init__(self, id): self._setId(id) Modified: Zope/trunk/src/Products/Five/browser/tests/adding.txt =================================================================== --- Zope/trunk/src/Products/Five/browser/tests/adding.txt 2010-07-11 11:59:33 UTC (rev 114577) +++ Zope/trunk/src/Products/Five/browser/tests/adding.txt 2010-07-11 12:04:04 UTC (rev 114578) @@ -7,18 +7,12 @@ First we need to import and setup some prerequisites: - >>> from Products.BTreeFolder2.BTreeFolder2 import BTreeFolder2 >>> from Products.Five.tests.testing import manage_addFiveTraversableFolder >>> from Products.Five.browser.adding import ObjectManagerNameChooser >>> manage_addFiveTraversableFolder(self.folder, 'testoid', 'Testoid') >>> chooser = ObjectManagerNameChooser(self.folder) - >>> id = self.folder._setObject('btreefolder', BTreeFolder2('btreefolder')) - >>> btreefolder = self.folder[id] - >>> manage_addFiveTraversableFolder(btreefolder, 'testoid', 'Testoid') - >>> chooser2 = ObjectManagerNameChooser(btreefolder) - Now we can start. ``INameChooser`` defines a ``checkName()`` method that checks whether a given name is valid in the container or not. Under the hood, ``ObjectManagerNameChooser`` calls ``_checkId()`` of @@ -26,25 +20,16 @@ and don't contain invalid characters. >>> chooser.checkName('abc', object()) - >>> chooser2.checkName('abc', object()) >>> chooser.checkName('testoid', object()) Traceback (most recent call last): ... UserError: The id "testoid" is invalid - it is already in use. - >>> chooser2.checkName('testoid', object()) - Traceback (most recent call last): - ... - UserError: The id "testoid" is invalid - it is already in use. >>> chooser.checkName('slash/slash', object()) Traceback (most recent call last): ... UserError: The id "slash/slash" contains characters illegal in URLs. - >>> chooser2.checkName('slash/slash', object()) - Traceback (most recent call last): - ... - UserError: The id "slash/slash" contains characters illegal in URLs. ``INameChooser`` also promises us a ``chooseName()`` method that chooses a name for us in case we don't have one or that chooses a @@ -52,18 +37,12 @@ >>> chooser.chooseName('', self.folder.testoid) 'FiveTraversableFolder' - >>> chooser2.chooseName('', self.folder.testoid) - 'FiveTraversableFolder' >>> chooser.chooseName('abc', self.folder.testoid) 'abc' - >>> chooser2.chooseName('abc', self.folder.testoid) - 'abc' >>> chooser.chooseName('testoid', self.folder.testoid) 'testoid-1' - >>> chooser2.chooseName('testoid', self.folder.testoid) - 'testoid-1' Of course, if we start out with something bad, it isn't going to become good automagically: @@ -72,7 +51,3 @@ Traceback (most recent call last): ... UserError: The id "slash/slash" contains characters illegal in URLs. - >>> chooser2.chooseName('slash/slash', object()) - Traceback (most recent call last): - ... - UserError: The id "slash/slash" contains characters illegal in URLs. _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org https://mail.zope.org/mailman/listinfo/zope-checkins