summaryrefslogtreecommitdiff
path: root/addons/decimal_precision/tests/test_qweb_float.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/decimal_precision/tests/test_qweb_float.py')
-rw-r--r--addons/decimal_precision/tests/test_qweb_float.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/addons/decimal_precision/tests/test_qweb_float.py b/addons/decimal_precision/tests/test_qweb_float.py
new file mode 100644
index 00000000000..93334170f37
--- /dev/null
+++ b/addons/decimal_precision/tests/test_qweb_float.py
@@ -0,0 +1,66 @@
+# -*- coding: utf-8 -*-
+from openerp.tests import common
+
+class TestFloatExport(common.TransactionCase):
+ def setUp(self):
+ super(TestFloatExport, self).setUp()
+ self.Model = self.registry('decimal.precision.test')
+
+ def get_converter(self, name):
+ converter = self.registry('ir.qweb.field.float')
+ column = self.Model._all_columns[name].column
+
+ return lambda value, options=None: converter.value_to_html(
+ self.cr, self.uid, value, column, options=options, context=None)
+
+ def test_basic_float(self):
+ converter = self.get_converter('float')
+ self.assertEqual(
+ converter(42.0),
+ "42.0")
+ self.assertEqual(
+ converter(42.12345),
+ "42.12345")
+
+ converter = self.get_converter('float_2')
+ self.assertEqual(
+ converter(42.0),
+ "42.00")
+ self.assertEqual(
+ converter(42.12345),
+ "42.12")
+
+ converter = self.get_converter('float_4')
+ self.assertEqual(
+ converter(42.0),
+ '42.0000')
+ self.assertEqual(
+ converter(42.12345),
+ '42.1234')
+
+ def test_precision_domain(self):
+ DP = self.registry('decimal.precision')
+ DP.create(self.cr, self.uid, {
+ 'name': 'A',
+ 'digits': 2,
+ })
+ DP.create(self.cr, self.uid, {
+ 'name': 'B',
+ 'digits': 6,
+ })
+
+ converter = self.get_converter('float')
+ self.assertEqual(
+ converter(42.0, {'decimal_precision': 'A'}),
+ '42.00')
+ self.assertEqual(
+ converter(42.0, {'decimal_precision': 'B'}),
+ '42.000000')
+
+ converter = self.get_converter('float_4')
+ self.assertEqual(
+ converter(42.12345, {'decimal_precision': 'A'}),
+ '42.12')
+ self.assertEqual(
+ converter(42.12345, {'decimal_precision': 'B'}),
+ '42.123450')