summaryrefslogtreecommitdiff
path: root/odoo/addons/base/tests/test_qweb.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-03-05 17:26:04 +0100
committerChristophe Simonis <chs@odoo.com>2019-03-05 17:26:04 +0100
commit3e54704e669441e655b1fe19ee0fa0646cdbf8d5 (patch)
treeacddbce8a7f3868c1bf8f882dc959f63134f40ec /odoo/addons/base/tests/test_qweb.py
parent2c495502aa37374f3748d9ff4ab7cf9e8d9a6d6e (diff)
parent27081bf6f5f00ccb39f82ae62d14d428bf1c9223 (diff)
[MERGE] forward port branch 11.0 up to 27081bf6f5f
Diffstat (limited to 'odoo/addons/base/tests/test_qweb.py')
-rw-r--r--odoo/addons/base/tests/test_qweb.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/odoo/addons/base/tests/test_qweb.py b/odoo/addons/base/tests/test_qweb.py
index 3b0f6d768cc..db688634185 100644
--- a/odoo/addons/base/tests/test_qweb.py
+++ b/odoo/addons/base/tests/test_qweb.py
@@ -489,6 +489,47 @@ class TestQWebNS(TransactionCase):
with self.assertRaises(QWebException, msg=error_msg):
view1.render()
+ def test_render_t_call_propagates_t_lang(self):
+ current_lang = 'en_US'
+ other_lang = 'fr_FR'
+
+ self.env['res.lang'].load_lang(lang=other_lang)
+
+ self.env['res.lang'].search([('code', '=', other_lang)], limit=1).write({
+ 'active': True,
+ 'decimal_point': '*',
+ 'thousands_sep': '/'
+ })
+
+ view1 = self.env['ir.ui.view'].create({
+ 'name': "callee",
+ 'type': 'qweb',
+ 'arch': u"""
+ <t t-name="base.callee">
+ <t t-esc="9000000.00" t-options="{'widget': 'float', 'precision': 2}" />
+ </t>
+ """
+ })
+ self.env['ir.model.data'].create({
+ 'name': 'callee',
+ 'model': 'ir.ui.view',
+ 'module': 'base',
+ 'res_id': view1.id,
+ })
+
+ view2 = self.env['ir.ui.view'].create({
+ 'name': "calling",
+ 'type': 'qweb',
+ 'arch': u"""
+ <t t-name="base.calling">
+ <t t-call="base.callee" t-lang="'%s'" />
+ </t>
+ """ % other_lang
+ })
+
+ rendered = view2.with_context(lang=current_lang).render().strip()
+ self.assertEqual(rendered, b'9/000/000*00')
+
from copy import deepcopy
class FileSystemLoader(object):