[Erp5-report] r25498 - in /erp5/trunk/products/ERP5Type: Base.py tests/testERP5Type.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Feb 9 11:15:47 CET 2009


Author: seb
Date: Mon Feb  9 11:15:44 2009
New Revision: 25498

URL: http://svn.erp5.org?rev=25498&view=rev
Log:
* getter on a undefined list property was not working properly
  any more, bug was introduced by revision 25485
* add unit test to prevent such regression

Modified:
    erp5/trunk/products/ERP5Type/Base.py
    erp5/trunk/products/ERP5Type/tests/testERP5Type.py

Modified: erp5/trunk/products/ERP5Type/Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Base.py?rev=25498&r1=25497&r2=25498&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Base.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Base.py [utf8] Mon Feb  9 11:15:44 2009
@@ -1378,10 +1378,9 @@
         if not isinstance(result, (list, tuple)):
           result = [result]
         return result
-    else:
-      if d is not _MARKER:
-        return ERP5PropertyManager.getProperty(self, key, d=d, **kw)
-      return ERP5PropertyManager.getProperty(self, key, **kw)
+    if d is not _MARKER:
+      return ERP5PropertyManager.getProperty(self, key, d=d, **kw)
+    return ERP5PropertyManager.getProperty(self, key, **kw)
 
   security.declareProtected( Permissions.AccessContentsInformation, 'getPropertyList' )
   def getPropertyList(self, key, d=None):

Modified: erp5/trunk/products/ERP5Type/tests/testERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/testERP5Type.py?rev=25498&r1=25497&r2=25498&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/testERP5Type.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/testERP5Type.py [utf8] Mon Feb  9 11:15:44 2009
@@ -2583,6 +2583,19 @@
       person.setPropertyList('foo_bar', [])
       self.assertEquals(person.getFooBarList(), [])
 
+    def testUndefinedProperties(self):
+      """
+      Make sure that getProperty and setProperty on a property not defined
+      in a propertysheet is working properly.
+      """
+      person = self.getPersonModule().newContent(portal_type='Person')
+      self.assertEquals(person.getProperty('foo_bar'), None)
+      person.setProperty('foo_bar', 'foo')
+      self.assertEquals(person.getProperty('foo_bar'), 'foo')
+      self.assertEquals(person.getPropertyList('foo_bar_list'), None)
+      person.setProperty('foo_bar_list', ['foo', 'bar'])
+      self.assertEquals(list(person.getProperty('foo_bar_list')), ['foo', 'bar'])
+
 class TestAccessControl(ERP5TypeTestCase):
   # Isolate test in a dedicaced class in order not to break other tests
   # when this one fails.




More information about the Erp5-report mailing list