summaryrefslogtreecommitdiff
path: root/odoo/addons/base/tests/test_qweb.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-06-12 16:49:11 +0200
committerChristophe Simonis <chs@odoo.com>2018-06-12 16:49:11 +0200
commitaf1853775fe9b95e5b0f927c0894abab1be683d7 (patch)
treed2ed115233bd4f74fa0ac6a550c5241fb98f8f9b /odoo/addons/base/tests/test_qweb.py
parent9a6ef3c99c775901f70e3704f7c94d3db38c1fa6 (diff)
parente3658d6f56801d7037f11d4c61bb89c037a1bc98 (diff)
[MERGE] forward port branch 11.0 up to e3658d6f568
Diffstat (limited to 'odoo/addons/base/tests/test_qweb.py')
-rw-r--r--odoo/addons/base/tests/test_qweb.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/odoo/addons/base/tests/test_qweb.py b/odoo/addons/base/tests/test_qweb.py
index bea0c74cabe..310c5220897 100644
--- a/odoo/addons/base/tests/test_qweb.py
+++ b/odoo/addons/base/tests/test_qweb.py
@@ -5,6 +5,7 @@ import collections
import json
import os.path
import re
+import sys
from lxml import etree
@@ -465,6 +466,26 @@ class TestQWebNS(TransactionCase):
expected_result
)
+ def test_render_dynamic_xml_with_code_error(self):
+ """ Test that, when rendering a template containing a namespaced node
+ that evaluates code with errors, the proper exception is raised
+ """
+ view1 = self.env['ir.ui.view'].create({
+ 'name': "dummy",
+ 'type': 'qweb',
+ 'arch': u"""
+ <t t-name="base.dummy">
+ <Invoice xmlns:od="http://odoo.com/od">
+ <od:name t-att-test="'a' + 1"/>
+ </Invoice>
+ </t>
+ """
+ })
+ error_msg = "Can't convert 'int' object to str implicitly"
+ if sys.version_info >= (3, 6):
+ error_msg = "must be str, not int"
+ with self.assertRaisesRegexp(QWebException, error_msg):
+ view1.render()
from copy import deepcopy
class FileSystemLoader(object):