[Erp5-report] r15258 - in /erp5/trunk/products/ERP5Form: ./ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jul 20 12:10:07 CEST 2007


Author: jerome
Date: Fri Jul 20 12:10:06 2007
New Revision: 15258

URL: http://svn.erp5.org?rev=15258&view=rev
Log:
The previous commit introduced a problem, float fields were no longer able to
display non float values.

Modified:
    erp5/trunk/products/ERP5Form/FormulatorPatch.py
    erp5/trunk/products/ERP5Form/tests/testFields.py

Modified: erp5/trunk/products/ERP5Form/FormulatorPatch.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/FormulatorPatch.py?rev=15258&r1=15257&r2=15258&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/FormulatorPatch.py (original)
+++ erp5/trunk/products/ERP5Form/FormulatorPatch.py Fri Jul 20 12:10:06 2007
@@ -1059,10 +1059,11 @@
           if input_style.find('%')>=0:
             percent=1
             value = float(value) * 100
-          if precision:
-            value = round(value, precision)
           try :
-            value = str(float(value))
+            float_value = float(value)
+            if precision:
+              float_value = round(float_value, precision)
+            value = str(float_value)
           except ValueError:
             return value
           else:

Modified: erp5/trunk/products/ERP5Form/tests/testFields.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testFields.py?rev=15258&r1=15257&r2=15258&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testFields.py (original)
+++ erp5/trunk/products/ERP5Form/tests/testFields.py Fri Jul 20 12:10:06 2007
@@ -60,12 +60,18 @@
     self.assertEquals('0.01', self.widget.format_value(self.field, 0.011))
     # value is rounded
     self.assertEquals('0.01', self.widget.format_value(self.field, 0.009999))
-
+  
   def test_render_view(self):
     self.field.values['input_style'] = '-1 234.5'
     self.field.values['precision'] = 2
     self.field.values['editable'] = 0
     self.assertEquals('1 000.00', self.field.render(1000))
+  
+  def test_render_string_value(self):
+    self.field.values['precision'] = 2
+    self.field.values['editable'] = 0
+    self.assertEquals('12.34', self.field.render("12.34"))
+    self.assertEquals('not float', self.field.render("not float"))
 
   def test_render_big_numbers(self):
     self.field.values['precision'] = 2




More information about the Erp5-report mailing list