[Erp5-report] r9997 - in /erp5/trunk/products/CMFCategory: ./ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Sep 15 15:35:43 CEST 2006


Author: alex
Date: Fri Sep 15 15:35:42 2006
New Revision: 9997

URL: http://svn.erp5.org?rev=9997&view=rev
Log:
check that getCategoryList called on a category does not append self if
already included.

Modified:
    erp5/trunk/products/CMFCategory/CategoryTool.py
    erp5/trunk/products/CMFCategory/tests/testCMFCategory.py

Modified: erp5/trunk/products/CMFCategory/CategoryTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/CategoryTool.py?rev=9997&r1=9996&r2=9997&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/CategoryTool.py (original)
+++ erp5/trunk/products/CMFCategory/CategoryTool.py Fri Sep 15 15:35:42 2006
@@ -1150,7 +1150,9 @@
       else:
         result = []
       if getattr(context, 'isCategory', 0):
-        result.append(context.getRelativeUrl()) # Pure category is member of itself
+        category_url = context.getRelativeUrl()
+        if category_url not in result:
+          result.append(context.getRelativeUrl()) # Pure category is member of itself
       return result
 
     security.declareProtected( Permissions.ModifyPortalContent, '_setCategoryList' )

Modified: erp5/trunk/products/CMFCategory/tests/testCMFCategory.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/tests/testCMFCategory.py?rev=9997&r1=9996&r2=9997&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/tests/testCMFCategory.py (original)
+++ erp5/trunk/products/CMFCategory/tests/testCMFCategory.py Fri Sep 15 15:35:42 2006
@@ -595,6 +595,22 @@
     self.tic()
     self.assert_(obj in [x.getObject() for x in test.getCategoryMemberValueList()])
 
+  def test_18_getCategoryList(self, quiet=0, run=run_all_test):
+    """
+    check that getCategoryList called on a category does not append self again
+    and again
+    """
+    if not run: return
+    if not quiet:
+      message = 'Test getCategoryList on Category'
+      ZopeTestCase._print('\n ' + message)
+      LOG('Testing... ', 0, message)
+    portal = self.getPortal()
+    region_value = portal.portal_categories.resolveCategory('region/%s' % self.region1)
+    category_list = region_value.getCategoryList()
+    region_value.setCategoryList(category_list)
+    self.assertEqual(category_list, region_value.getCategoryList())
+
 if __name__ == '__main__':
     framework()
 else:




More information about the Erp5-report mailing list