imp: allow object descriptors for attributes

close #6
This commit is contained in:
Géry Debongnie
2019-03-21 11:14:18 +01:00
parent a8b3ec7726
commit a34fc39100
4 changed files with 46 additions and 5 deletions
+14 -1
View File
@@ -188,7 +188,20 @@ exports[`attributes t-att-class and class should combine together 1`] = `
let _1 = 'hello';
let _3 = context['value'];
let _2 = 'hello' + (_3 ? ' ' + _3 : '');
let c4 = [], p4 = {key:4,attrs:{class: _1,class: _2}};
let c4 = [], p4 = {key:4,attrs:{class: _2}};
let vn4 = h('div', p4, c4);
return vn4;
}"
`;
exports[`attributes t-att-class with object 1`] = `
"function anonymous(context,extra
) {
let h = this.utils.h;
let _1 = 'static';
let _3 = this.utils.objectToAttrString({a: context['b'],c: context['d'],e: context['f']});
let _2 = 'static' + (_3 ? ' ' + _3 : '');
let c4 = [], p4 = {key:4,attrs:{class: _2}};
let vn4 = h('div', p4, c4);
return vn4;
}"
+9
View File
@@ -464,6 +464,15 @@ describe("attributes", () => {
const result = renderToString(qweb, "test", { value: "world" });
expect(result).toBe(`<div class="hello world"></div>`);
});
test("t-att-class with object", () => {
qweb.addTemplate(
"test",
`<div class="static" t-att-class="{a: b, c: d, e: f}"/>`
);
const result = renderToString(qweb, "test", { b: true, d: false, f: true });
expect(result).toBe(`<div class="static a e"></div>`);
});
});
describe("t-call (template calling", () => {