summaryrefslogtreecommitdiff
path: root/odoo/addons/test_convert
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2016-09-02 15:58:39 +0200
committerRaphael Collet <rco@openerp.com>2016-09-02 17:28:12 +0200
commit9e64f9f9514194d74e166b032add8511182f2677 (patch)
tree5086710c04c6b923be18a6d1d97b3f0f3a2a9c4a /odoo/addons/test_convert
parent11812b0b9e82b2b1b9041d8250ce01e7b4a5f7ee (diff)
[REF] openerp: move `openerp` to `odoo`
Diffstat (limited to 'odoo/addons/test_convert')
-rw-r--r--odoo/addons/test_convert/__init__.py0
-rw-r--r--odoo/addons/test_convert/__openerp__.py8
-rw-r--r--odoo/addons/test_convert/test_file.txt1
-rw-r--r--odoo/addons/test_convert/tests/__init__.py2
-rw-r--r--odoo/addons/test_convert/tests/test_convert.py83
5 files changed, 94 insertions, 0 deletions
diff --git a/odoo/addons/test_convert/__init__.py b/odoo/addons/test_convert/__init__.py
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/odoo/addons/test_convert/__init__.py
diff --git a/odoo/addons/test_convert/__openerp__.py b/odoo/addons/test_convert/__openerp__.py
new file mode 100644
index 00000000000..af6cd1af6e4
--- /dev/null
+++ b/odoo/addons/test_convert/__openerp__.py
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+{
+ 'name': 'test_convert',
+ 'description': "Data for xml conversion tests",
+ 'version': '0.0.1',
+}
diff --git a/odoo/addons/test_convert/test_file.txt b/odoo/addons/test_convert/test_file.txt
new file mode 100644
index 00000000000..e69b2e08d55
--- /dev/null
+++ b/odoo/addons/test_convert/test_file.txt
@@ -0,0 +1 @@
+nothing to see here, move along
diff --git a/odoo/addons/test_convert/tests/__init__.py b/odoo/addons/test_convert/tests/__init__.py
new file mode 100644
index 00000000000..2b608870b30
--- /dev/null
+++ b/odoo/addons/test_convert/tests/__init__.py
@@ -0,0 +1,2 @@
+# -*- coding: utf-8 -*-
+from . import test_convert
diff --git a/odoo/addons/test_convert/tests/test_convert.py b/odoo/addons/test_convert/tests/test_convert.py
new file mode 100644
index 00000000000..e81526dd43c
--- /dev/null
+++ b/odoo/addons/test_convert/tests/test_convert.py
@@ -0,0 +1,83 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import collections
+import unittest
+
+from lxml.builder import E
+
+from odoo.tests import common
+from odoo.tools.convert import _eval_xml
+
+Field = E.field
+Value = E.value
+
+class TestEvalXML(common.TransactionCase):
+ def eval_xml(self, node, obj=None):
+ return _eval_xml(obj, node, self.env)
+
+ def test_char(self):
+ self.assertEqual(
+ self.eval_xml(Field("foo")),
+ "foo")
+ self.assertEqual(
+ self.eval_xml(Field("None")),
+ "None")
+
+ def test_int(self):
+ self.assertIsNone(
+ self.eval_xml(Field("None", type='int')),
+ "what the fuck?")
+ self.assertEqual(
+ self.eval_xml(Field(" 42 ", type="int")),
+ 42)
+
+ with self.assertRaises(ValueError):
+ self.eval_xml(Field("4.82", type="int"))
+
+ with self.assertRaises(ValueError):
+ self.eval_xml(Field("Whelp", type="int"))
+
+ def test_float(self):
+ self.assertEqual(
+ self.eval_xml(Field("4.78", type="float")),
+ 4.78)
+
+ with self.assertRaises(ValueError):
+ self.eval_xml(Field("None", type="float"))
+
+ with self.assertRaises(ValueError):
+ self.eval_xml(Field("Foo", type="float"))
+
+ def test_list(self):
+ self.assertEqual(
+ self.eval_xml(Field(type="list")),
+ [])
+
+ self.assertEqual(
+ self.eval_xml(Field(
+ Value("foo"),
+ Value("5", type="int"),
+ Value("4.76", type="float"),
+ Value("None", type="int"),
+ type="list"
+ )),
+ ["foo", 5, 4.76, None])
+
+ def test_file(self):
+ Obj = collections.namedtuple('Obj', ['module', 'idref'])
+ obj = Obj('test_convert', None)
+ self.assertEqual(
+ self.eval_xml(Field('test_file.txt', type='file'), obj),
+ 'test_convert,test_file.txt')
+
+ with self.assertRaises(IOError):
+ self.eval_xml(Field('test_nofile.txt', type='file'), obj)
+
+ @unittest.skip("not tested")
+ def test_xml(self):
+ pass
+
+ @unittest.skip("not tested")
+ def test_html(self):
+ pass