summaryrefslogtreecommitdiff
path: root/addons/decimal_precision/tests
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2013-10-21 11:45:33 +0200
committerXavier Morel <xmo@openerp.com>2013-10-21 11:45:33 +0200
commitff07f6dcdd537563030057bb9fbc8a0cc0b6fd81 (patch)
tree6e7fc469b1dac24b1971198af43b9ed8f1bcc7a7 /addons/decimal_precision/tests
parent0a74b6ef77b8671dcb409d6e8057d9657993573d (diff)
[ADD] decimal precision support to float t-field rendering
bzr revid: xmo@openerp.com-20131021094533-e510uy6byck85xma
Diffstat (limited to 'addons/decimal_precision/tests')
-rw-r--r--addons/decimal_precision/tests/__init__.py6
-rw-r--r--addons/decimal_precision/tests/test_qweb_float.py66
2 files changed, 72 insertions, 0 deletions
diff --git a/addons/decimal_precision/tests/__init__.py b/addons/decimal_precision/tests/__init__.py
new file mode 100644
index 00000000000..feee24c8f15
--- /dev/null
+++ b/addons/decimal_precision/tests/__init__.py
@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+import test_qweb_float
+
+checks = [
+ test_qweb_float
+]
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')