[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