[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