mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
@@ -932,6 +932,9 @@ const onDirective: Directive = {
|
|||||||
atNodeCreation({ ctx, fullName, value, nodeID }) {
|
atNodeCreation({ ctx, fullName, value, nodeID }) {
|
||||||
ctx.rootContext.shouldDefineOwner = true;
|
ctx.rootContext.shouldDefineOwner = true;
|
||||||
const eventName = fullName.slice(5);
|
const eventName = fullName.slice(5);
|
||||||
|
if (!eventName) {
|
||||||
|
throw new Error("Missing event name with t-on directive");
|
||||||
|
}
|
||||||
let extraArgs;
|
let extraArgs;
|
||||||
let handler = value.replace(/\(.*\)/, function(args) {
|
let handler = value.replace(/\(.*\)/, function(args) {
|
||||||
extraArgs = args.slice(1, -1);
|
extraArgs = args.slice(1, -1);
|
||||||
|
|||||||
@@ -115,6 +115,13 @@ describe("error handling", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("nice error when t-on is evaluated with a missing event", () => {
|
||||||
|
qweb.addTemplate("templatename", `<div t-on="somemethod"></div>`);
|
||||||
|
expect(() =>
|
||||||
|
qweb.render("templatename", { someMethod() {} }, { handlers: [] })
|
||||||
|
).toThrow("Missing event name with t-on directive");
|
||||||
|
});
|
||||||
|
|
||||||
test("error when compiled code is invalid", () => {
|
test("error when compiled code is invalid", () => {
|
||||||
qweb.addTemplate(
|
qweb.addTemplate(
|
||||||
"templatename",
|
"templatename",
|
||||||
|
|||||||
Reference in New Issue
Block a user