[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