[Erp5-report] r34637 jerome - in /erp5/trunk/products/ERP5Form: ./ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Apr 19 10:08:59 CEST 2010
Author: jerome
Date: Mon Apr 19 10:08:59 2010
New Revision: 34637
URL: http://svn.erp5.org?rev=34637&view=rev
Log:
generate "is" accessors for boolean preferences
Modified:
erp5/trunk/products/ERP5Form/PreferenceTool.py
erp5/trunk/products/ERP5Form/tests/testPreferences.py
Modified: erp5/trunk/products/ERP5Form/PreferenceTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/PreferenceTool.py?rev=34637&r1=34636&r2=34637&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PreferenceTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/PreferenceTool.py [utf8] Mon Apr 19 10:08:59 2010
@@ -93,8 +93,10 @@
# only properties marked as preference are used
attribute = prop['id']
attr_list = [ 'get%s' % convertToUpperCase(attribute)]
+ if prop['type'] == 'boolean':
+ attr_list.append('is%s' % convertToUpperCase(attribute))
if prop['type'] in list_types :
- attr_list += ['get%sList' % convertToUpperCase(attribute), ]
+ attr_list.append('get%sList' % convertToUpperCase(attribute))
for attribute_name in attr_list:
method = PreferenceMethod(attribute_name, prop.get('default'))
setattr(PreferenceTool, attribute_name, method)
Modified: erp5/trunk/products/ERP5Form/tests/testPreferences.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testPreferences.py?rev=34637&r1=34636&r2=34637&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testPreferences.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/tests/testPreferences.py [utf8] Mon Apr 19 10:08:59 2010
@@ -509,6 +509,26 @@
self.assertEqual(user_pref, preference_tool.getActivePreference())
self.assertEqual(system_pref, preference_tool.getActiveSystemPreference())
+ def test_boolean_accessor(self):
+ self._addPropertySheet('Preference', 'DummyPreference',
+ '''class DummyPreference:
+ _properties= ( {'id': 'dummy',
+ 'preference': True,
+ 'type': 'boolean',},)''')
+ portal_preferences = self.portal.portal_preferences
+ self.assertFalse(portal_preferences.getDummy())
+ self.assertFalse(portal_preferences.isDummy())
+
+ preference = portal_preferences.newContent(portal_type='Preference',
+ dummy=True)
+ preference.enable()
+ transaction.commit()
+ self.tic()
+
+ self.assertTrue(portal_preferences.getDummy())
+ self.assertTrue(portal_preferences.isDummy())
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestPreferences))
More information about the Erp5-report
mailing list