diff --git a/odoo/addons/base/tests/test_views.py b/odoo/addons/base/tests/test_views.py index adbabdc48ad..e210ce90073 100644 --- a/odoo/addons/base/tests/test_views.py +++ b/odoo/addons/base/tests/test_views.py @@ -1183,3 +1183,44 @@ class TestXPathExtentions(common.BaseCase): self.assertEqual( len(tree.xpath('//node[hasclass("foo", "baz")]')), 1) + + +class TestQWebRender(ViewCase): + + def test_render(self): + view1 = self.View.create({ + 'name': "dummy", + 'type': 'qweb', + 'arch': """ + +
something
+
+ """ + }) + view2 = self.View.create({ + 'name': "dummy_ext", + 'type': 'qweb', + 'inherit_id': view1.id, + 'arch': """ + + another thing + + """ + }) + + # render with an id + content1 = self.env['ir.qweb'].with_context(check_view_ids=[view1.id, view2.id]).render(view1.id) + content2 = self.env['ir.qweb'].with_context(check_view_ids=[view1.id, view2.id]).render(view2.id) + + self.assertEqual(content1, content2) + + # render with an xmlid + self.env.cr.execute("INSERT INTO ir_model_data(name, model, res_id, module)" + "VALUES ('dummy', 'ir.ui.view', %s, 'base')" % view1.id) + self.env.cr.execute("INSERT INTO ir_model_data(name, model, res_id, module)" + "VALUES ('dummy_ext', 'ir.ui.view', %s, 'base')" % view2.id) + + content1 = self.env['ir.qweb'].with_context(check_view_ids=[view1.id, view2.id]).render('base.dummy') + content2 = self.env['ir.qweb'].with_context(check_view_ids=[view1.id, view2.id]).render('base.dummy_ext') + + self.assertEqual(content1, content2)