[FIX] qweb: do not render comments as text in t-raw

The code converting html to a vnode did not handle comment nodes as
expected.

closes #761
This commit is contained in:
Géry Debongnie
2020-10-19 16:11:02 +02:00
committed by aab-odoo
parent 33f7fc8e83
commit 8e018fbbda
3 changed files with 27 additions and 0 deletions
@@ -3148,6 +3148,23 @@ exports[`t-raw t-raw and another sibling node 1`] = `
}"
`;
exports[`t-raw t-raw with comment 1`] = `
"function anonymous(context, extra
) {
// Template name: \\"test\\"
let utils = this.constructor.utils;
let scope = Object.create(context);
let h = this.h;
let c1 = [], p1 = {key:1};
let vn1 = h('span', p1, c1);
let _2 = scope['var'];
if (_2 != null) {
c1.push(...utils.htmlToVDOM(_2));
}
return vn1;
}"
`;
exports[`t-raw variable 1`] = `
"function anonymous(context, extra
) {
+7
View File
@@ -238,6 +238,13 @@ describe("t-raw", () => {
"<span><span>hello</span><ok>world</ok></span>"
);
});
test("t-raw with comment", () => {
qweb.addTemplate("test", `<span><t t-raw="var"/></span>`);
expect(renderToString(qweb, "test", { var: "<p>text<!-- top secret --></p>" })).toBe(
"<span><p>text<!-- top secret --></p></span>"
);
});
});
describe("t-set", () => {