mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
[FIX] qweb: t-component + class with extra whitespaces
Crashed due to `DOMTokenList.add(string)` requiring non-empty string.
This commit is contained in:
committed by
Géry Debongnie
parent
cc50a2e3bb
commit
4a5db0c283
@@ -475,7 +475,8 @@ QWeb.addDirective({
|
|||||||
if (classAttr) {
|
if (classAttr) {
|
||||||
classCode =
|
classCode =
|
||||||
classAttr
|
classAttr
|
||||||
.split(" ")
|
.trim()
|
||||||
|
.split(/\s+/)
|
||||||
.map(c => `vn.elm.classList.add('${c}')`)
|
.map(c => `vn.elm.classList.add('${c}')`)
|
||||||
.join(";") + ";";
|
.join(";") + ";";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1464,6 +1464,23 @@ describe("class and style attributes with t-component", () => {
|
|||||||
expect(fixture.innerHTML).toBe(`<div><div class="c b"></div></div>`);
|
expect(fixture.innerHTML).toBe(`<div><div class="c b"></div></div>`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("class with extra whitespaces", async () => {
|
||||||
|
env.qweb.addTemplate(
|
||||||
|
"ParentWidget",
|
||||||
|
`<div>
|
||||||
|
<Child class="a b c d"/>
|
||||||
|
</div>`
|
||||||
|
);
|
||||||
|
class ParentWidget extends Widget {
|
||||||
|
components = { Child };
|
||||||
|
}
|
||||||
|
env.qweb.addTemplate("Child", `<div/>`);
|
||||||
|
class Child extends Widget {}
|
||||||
|
const widget = new ParentWidget(env);
|
||||||
|
await widget.mount(fixture);
|
||||||
|
expect(fixture.innerHTML).toBe(`<div><div class="a b c d"></div></div>`);
|
||||||
|
});
|
||||||
|
|
||||||
test("style is properly added on widget root el", async () => {
|
test("style is properly added on widget root el", async () => {
|
||||||
env.qweb.addTemplate(
|
env.qweb.addTemplate(
|
||||||
"ParentWidget",
|
"ParentWidget",
|
||||||
|
|||||||
Reference in New Issue
Block a user