[FIX] qweb: do not capture current qweb instance in closure

it is not needed, and has a bad effect on globally registered templates.
This commit is contained in:
Géry Debongnie
2019-09-12 23:22:55 +02:00
parent 6bf70f016c
commit c9910077a4
3 changed files with 24 additions and 1 deletions
@@ -1118,6 +1118,21 @@ exports[`t-call (template calling t-call with t-if 1`] = `
}"
`;
exports[`t-call (template calling t-call, global templates 1`] = `
"function anonymous(context,extra
) {
var h = this.h;
let c1 = [], p1 = {key:1};
var vn1 = h('div', p1, c1);
result = vn1;
let c2 = [], p2 = {key:2};
var vn2 = h('span', p2, c2);
c1.push(vn2);
c2.push({text: \`desk\`});
return vn1;
}"
`;
exports[`t-call (template calling with unused body 1`] = `
"function anonymous(context,extra
) {
+8
View File
@@ -662,6 +662,14 @@ describe("t-call (template calling", () => {
const recursiveFn = Object.values(qweb.recursiveFns)[0];
expect(recursiveFn.toString()).toMatchSnapshot();
});
test("t-call, global templates", () => {
QWeb.registerTemplate('abcd', '<div><t t-call="john"/></div>')
qweb.addTemplate("john", `<span>desk</span>`);
const expected = "<div><span>desk</span></div>";
expect(trim(renderToString(qweb, "abcd"))).toBe(expected);
});
});
describe("foreach", () => {