diff options
| author | Raphael Collet <rco@openerp.com> | 2016-09-02 15:58:39 +0200 |
|---|---|---|
| committer | Raphael Collet <rco@openerp.com> | 2016-09-02 17:28:12 +0200 |
| commit | 9e64f9f9514194d74e166b032add8511182f2677 (patch) | |
| tree | 5086710c04c6b923be18a6d1d97b3f0f3a2a9c4a /odoo/addons/test_convert | |
| parent | 11812b0b9e82b2b1b9041d8250ce01e7b4a5f7ee (diff) | |
[REF] openerp: move `openerp` to `odoo`
Diffstat (limited to 'odoo/addons/test_convert')
| -rw-r--r-- | odoo/addons/test_convert/__init__.py | 0 | ||||
| -rw-r--r-- | odoo/addons/test_convert/__openerp__.py | 8 | ||||
| -rw-r--r-- | odoo/addons/test_convert/test_file.txt | 1 | ||||
| -rw-r--r-- | odoo/addons/test_convert/tests/__init__.py | 2 | ||||
| -rw-r--r-- | odoo/addons/test_convert/tests/test_convert.py | 83 |
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 |
