[FIX] blockdom: ignore attributes with undefined value

This commit is contained in:
Géry Debongnie
2021-12-13 14:41:07 +01:00
committed by Mathieu Duckerts-Antoine
parent 4cde06d685
commit c37f3445f6
4 changed files with 49 additions and 1 deletions
@@ -182,6 +182,34 @@ exports[`attributes dynamic formatted attributes with a dash 1`] = `
}"
`;
exports[`attributes dynamic undefined class attribute 1`] = `
"function anonymous(bdom, helpers
) {
let { text, createBlock, list, multi, html, toggler, component, comment } = bdom;
let block1 = createBlock(\`<div block-attribute-0=\\"class\\"/>\`);
return function template(ctx, node, key = \\"\\") {
let d1 = ctx['c'];
return block1([d1]);
}
}"
`;
exports[`attributes dynamic undefined generic attribute 1`] = `
"function anonymous(bdom, helpers
) {
let { text, createBlock, list, multi, html, toggler, component, comment } = bdom;
let block1 = createBlock(\`<div block-attribute-0=\\"thing\\"/>\`);
return function template(ctx, node, key = \\"\\") {
let d1 = ctx['c'];
return block1([d1]);
}
}"
`;
exports[`attributes fixed variable 1`] = `
"function anonymous(bdom, helpers
) {
+12
View File
@@ -52,6 +52,18 @@ describe("attributes", () => {
expect(result).toBe(`<div></div>`);
});
test("dynamic undefined generic attribute", () => {
const template = `<div t-att-thing="c"/>`;
const result = renderToString(template, { c: undefined });
expect(result).toBe(`<div></div>`);
});
test("dynamic undefined class attribute", () => {
const template = `<div t-att-class="c"/>`;
const result = renderToString(template, { c: undefined });
expect(result).toBe(`<div></div>`);
});
test("dynamic attribute with a dash", () => {
const template = `<div t-att-data-action-id="id"/>`;
const result = renderToString(template, { id: 32 });