[Erp5-report] r21439 - in /erp5/trunk/products/ERP5Type: ./ Accessor/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Jun 9 18:30:16 CEST 2008
Author: jerome
Date: Mon Jun 9 18:30:14 2008
New Revision: 21439
URL: http://svn.erp5.org?rev=21439&view=rev
Log:
implement testers for category accessors
Modified:
erp5/trunk/products/ERP5Type/Accessor/Category.py
erp5/trunk/products/ERP5Type/Utils.py
erp5/trunk/products/ERP5Type/tests/testERP5Type.py
Modified: erp5/trunk/products/ERP5Type/Accessor/Category.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Accessor/Category.py?rev=21439&r1=21438&r2=21439&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Accessor/Category.py (original)
+++ erp5/trunk/products/ERP5Type/Accessor/Category.py Mon Jun 9 18:30:14 2008
@@ -238,4 +238,9 @@
psyco.bind(__call__)
-# And Tester ???
+class Tester(ListGetter):
+ """Tests if the category is set.
+ """
+ def __call__(self, instance, *args, **kw):
+ return not not ListGetter.__call__(self, instance, *args, **kw)
+
Modified: erp5/trunk/products/ERP5Type/Utils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Utils.py?rev=21439&r1=21438&r2=21439&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Utils.py (original)
+++ erp5/trunk/products/ERP5Type/Utils.py Mon Jun 9 18:30:14 2008
@@ -1859,6 +1859,11 @@
if not hasattr(property_holder, accessor_name):
property_holder.registerAccessor(accessor_name, id, Category.DefaultGetter, ())
+ accessor_name = 'has' + UpperCase(id)
+ if not hasattr(property_holder, accessor_name):
+ property_holder.registerAccessor(accessor_name, id, Category.Tester, ())
+ property_holder.declareProtected(read_permission, accessor_name)
+
setter_name = 'set' + UpperCase(id)
if not hasattr(property_holder, setter_name):
property_holder.registerAccessor(setter_name, '_' + setter_name, Alias.Reindex, ())
Modified: erp5/trunk/products/ERP5Type/tests/testERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/testERP5Type.py?rev=21439&r1=21438&r2=21439&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/testERP5Type.py (original)
+++ erp5/trunk/products/ERP5Type/tests/testERP5Type.py Mon Jun 9 18:30:14 2008
@@ -1793,6 +1793,13 @@
foo.setRegionValueSet([gamma],
checked_permission=checked_permission)
self.assertSameSet([beta_path, gamma_path], foo.getRegionList())
+
+ # check hasCategory accessors
+ foo.setRegionValue(None)
+ self.assertEquals(None, foo.getRegion())
+ self.assertFalse(foo.hasRegion())
+ foo.setRegionValue(beta)
+ self.assertTrue(foo.hasRegion())
def test_category_accessor_to_unaccessible_documents(self):
# Category Accessors raises Unauthorized when you try to access objects
More information about the Erp5-report
mailing list