mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
[IMP] qweb: log invalid code generated by template
This commit is contained in:
+7
-4
@@ -296,11 +296,14 @@ export class QWeb {
|
||||
ctx.code.join("\n")
|
||||
) as CompiledTemplate;
|
||||
} catch (e) {
|
||||
const templateName = ctx.templateName.replace(/`/g, "'");
|
||||
console.groupCollapsed(`Invalid Code generated by ${templateName}`);
|
||||
console.warn(ctx.code.join("\n"));
|
||||
console.groupEnd();
|
||||
throw new Error(
|
||||
`Invalid generated code while compiling template '${ctx.templateName.replace(
|
||||
/`/g,
|
||||
"'"
|
||||
)}': ${e.message}`
|
||||
`Invalid generated code while compiling template '${templateName}': ${
|
||||
e.message
|
||||
}`
|
||||
);
|
||||
}
|
||||
if (isDebug) {
|
||||
|
||||
@@ -85,6 +85,10 @@ describe("error handling", () => {
|
||||
});
|
||||
|
||||
test("error when compiled code is invalid", () => {
|
||||
const consoleWarn = console.warn;
|
||||
const consoleGroupCollapsed = console.groupCollapsed;
|
||||
console.warn = jest.fn();
|
||||
console.groupCollapsed = jest.fn();
|
||||
qweb.addTemplate(
|
||||
"templatename",
|
||||
`<div t-att-hey="}/^function invalid{{>'"></div>`
|
||||
@@ -92,6 +96,9 @@ describe("error handling", () => {
|
||||
expect(() => qweb.render("templatename")).toThrow(
|
||||
"Invalid generated code while compiling template 'templatename': Unexpected token }"
|
||||
);
|
||||
expect(console.warn).toBeCalledTimes(1);
|
||||
console.warn = consoleWarn;
|
||||
console.groupCollapsed = consoleGroupCollapsed;
|
||||
});
|
||||
|
||||
test("error when unknown directive", () => {
|
||||
|
||||
Reference in New Issue
Block a user