allow multiple uses of t-on directive

This commit is contained in:
Géry Debongnie
2019-03-12 16:45:27 +01:00
parent 2fb6ebb0c5
commit 2cd286f8cb
3 changed files with 88 additions and 34 deletions
+26
View File
@@ -692,6 +692,32 @@ describe("t-on", () => {
expect(a).toBe(3);
});
test("can bind two event handlers", () => {
qweb.addTemplate(
"test",
`<button t-on-click="handleClick" t-on-dblclick="handleDblClick">Click</button>`
);
let steps: string[] = [];
const node = renderToDOM(
qweb,
"test",
{
handleClick() {
steps.push("click");
},
handleDblClick() {
steps.push("dblclick");
}
},
{ handlers: [] }
);
expect(steps).toEqual([]);
(<HTMLElement>node).click();
expect(steps).toEqual(["click"]);
(<HTMLElement>node).dispatchEvent(new Event("dblclick"));
expect(steps).toEqual(["click", "dblclick"]);
});
test("can bind handlers with arguments", () => {
qweb.addTemplate("test", `<button t-on-click="add(5)">Click</button>`);
let a = 1;