[REF] qweb: t-foreach: remove integer support for t-value

Handling it complexifies the compiled code, and it is not really
useful (the same result can be achieved with t-foreach="Array(n)")

Part of #128
This commit is contained in:
Aaron Bohy
2019-06-07 14:10:59 +02:00
committed by Géry Debongnie
parent b14d069ee7
commit 49baf0de6e
6 changed files with 75 additions and 127 deletions
+5 -24
View File
@@ -1151,8 +1151,7 @@ describe("composition", () => {
<t t-if="state.ok"><t t-widget="ChildWidget" t-ref="child" t-keepalive="1"/></t>
</div>
<span t-name="ChildWidget">Hello</span>
</templates>`
);
</templates>`);
class ParentWidget extends Widget {
state = { ok: true };
widgets = { ChildWidget };
@@ -1162,19 +1161,19 @@ describe("composition", () => {
await widget.mount(fixture);
let child = children(widget)[0];
expect(fixture.innerHTML).toBe('<div><span>Hello</span></div>');
expect(fixture.innerHTML).toBe("<div><span>Hello</span></div>");
expect(widget.refs.child).toEqual(child);
widget.state.ok = false;
await nextTick();
expect(fixture.innerHTML).toBe('<div></div>');
expect(fixture.innerHTML).toBe("<div></div>");
expect(widget.refs.child).toEqual(child);
widget.state.ok = true;
await nextTick();
expect(fixture.innerHTML).toBe('<div><span>Hello</span></div>');
expect(fixture.innerHTML).toBe("<div><span>Hello</span></div>");
expect(widget.refs.child).toEqual(child);
});
@@ -1849,7 +1848,7 @@ describe("random stuff/miscellaneous", () => {
// directive as a key
env.qweb.addTemplate(
"Test",
`<div><t t-foreach="2">txt</t><t t-widget="widget"/></div>`
`<div><t t-foreach="Array(2)">txt</t><t t-widget="widget"/></div>`
);
class Test extends Widget {
widgets = { widget: Widget };
@@ -2499,24 +2498,6 @@ describe("widget and observable state", () => {
);
}
});
test("widget can add observed keys to its state", async () => {
env.qweb.addTemplate(
"TestWidget",
`<div><t t-esc="state.a"/><t t-esc="state.b"/></div>`
);
class TestWidget extends Widget {
state: any = { a: 1 };
}
const widget = new TestWidget(env);
await widget.mount(fixture);
expect(fixture.innerHTML).toBe("<div>1</div>");
widget.set(widget.state, "b", 2);
await nextTick();
expect(fixture.innerHTML).toBe("<div>12</div>");
});
});
describe("t-mounted directive", () => {