[Checkins] SVN: zope.app.tree/trunk/ Fix #264614: Test for node filter didn't do what it was expected to do.
Christian Theune
ct at gocept.com
Sat Apr 24 04:31:26 EDT 2010
Log message for revision 111333:
Fix #264614: Test for node filter didn't do what it was expected to do.
Changed:
U zope.app.tree/trunk/CHANGES.txt
U zope.app.tree/trunk/src/zope/app/tree/tests/test_node.py
-=-
Modified: zope.app.tree/trunk/CHANGES.txt
===================================================================
--- zope.app.tree/trunk/CHANGES.txt 2010-04-24 08:13:46 UTC (rev 111332)
+++ zope.app.tree/trunk/CHANGES.txt 2010-04-24 08:31:25 UTC (rev 111333)
@@ -5,6 +5,8 @@
3.6.1 (unreleased)
------------------
+- Fix #264614: Test for node filter didn't do what it was expected to do.
+
- Import ISite from zope.component after it was moved there from
zope.location.
Modified: zope.app.tree/trunk/src/zope/app/tree/tests/test_node.py
===================================================================
--- zope.app.tree/trunk/src/zope/app/tree/tests/test_node.py 2010-04-24 08:13:46 UTC (rev 111332)
+++ zope.app.tree/trunk/src/zope/app/tree/tests/test_node.py 2010-04-24 08:31:25 UTC (rev 111333)
@@ -16,7 +16,7 @@
$Id$
"""
import unittest
-from basetest import BaseTestCase
+from zope.app.tree.tests.basetest import BaseTestCase
from zope.interface import implements
from zope.container.interfaces import IObjectFindFilter
from zope.app.tree.node import Node
@@ -28,10 +28,18 @@
"""
implements(IObjectFindFilter)
- def __init__(self, *objects):
- self.objects = objects
+ def __init__(self, *tree):
+ # Flatten recursive list
+ self.objects = []
+ tree = list(tree)
+ while tree:
+ candidate = tree.pop()
+ if isinstance(candidate, list):
+ tree.extend(candidate)
+ else:
+ self.objects.append(candidate)
- def match(self, obj):
+ def matches(self, obj):
return obj in self.objects
@@ -69,8 +77,8 @@
# emulate node expansion with the FilterByObject filter
filter = FilterByObject([self.items[id] for id in self.expanded_nodes])
filtered_root = Node(self.root_obj, expand_all, filter)
- children = [node.context for node in root_node.getChildNodes()]
- expected = [self.items['b'], self.items['c']]
+ children = [node.context for node in filtered_root.getChildNodes()]
+ expected = [self.items['c']]
self.assertEqual(children, expected)
def test_flat(self):
More information about the checkins
mailing list