mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
add t-ref directive
This commit is contained in:
+23
-10
@@ -120,21 +120,34 @@ describe("destroy method", () => {
|
||||
});
|
||||
|
||||
describe("composition", () => {
|
||||
|
||||
class WidgetB extends Widget {
|
||||
template= `<div>world</div>`;
|
||||
}
|
||||
|
||||
class WidgetA extends Widget {
|
||||
name="a";
|
||||
template= `<div>Hello<t t-widget="b"/></div>`;
|
||||
widgets = {b: WidgetB}
|
||||
}
|
||||
|
||||
test("a widget with a sub widget", async () => {
|
||||
|
||||
class WidgetB extends Widget {
|
||||
template= `<div>world</div>`;
|
||||
}
|
||||
|
||||
class WidgetA extends Widget {
|
||||
name="a";
|
||||
template= `<div>Hello<t t-widget="b"/></div>`;
|
||||
widgets = {b: WidgetB}
|
||||
}
|
||||
|
||||
const widget = makeWidget(WidgetA);
|
||||
const target = document.createElement("div");
|
||||
await widget.mount(target);
|
||||
expect(target.innerHTML).toBe("<div>Hello<div>world</div></div>");
|
||||
});
|
||||
|
||||
test("t-refs on widget are widgets", async () => {
|
||||
class WidgetC extends Widget {
|
||||
name="a";
|
||||
template= `<div t-debug="1">Hello<t t-ref="mywidgetb" t-widget="b"/></div>`;
|
||||
widgets = {b: WidgetB}
|
||||
}
|
||||
const widget = makeWidget(WidgetC);
|
||||
const target = document.createElement("div");
|
||||
await widget.mount(target);
|
||||
expect(widget.refs.mywidgetb instanceof WidgetB).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user