diff --git a/tests/misc/async_root.test.ts b/tests/misc/async_root.test.ts deleted file mode 100644 index 5dd29e5a..00000000 --- a/tests/misc/async_root.test.ts +++ /dev/null @@ -1,170 +0,0 @@ -//import { AsyncRoot } from "../../src/misc/async_root"; -import { useState, mount } from "../../src"; -import { xml } from "../../src/tags"; -import { makeDeferred, makeTestFixture, snapshotEverything, nextTick } from "../helpers"; -import { Component } from "../../src/component/component"; - -let fixture: HTMLElement; - -snapshotEverything(); - -beforeEach(() => { - fixture = makeTestFixture(); -}); - -describe("Asyncroot", () => { - test.skip("delayed component with AsyncRoot component", async () => { - class Child extends Component { - static template = xml``; - } - class AsyncChild extends Child { - willUpdateProps() { - return def; - } - } - class Parent extends Component { - static template = xml` -
- -
- - - - -
-
`; - static components = { Child, AsyncChild /*AsyncRoot*/ }; - state = useState({ val: 0 }); - - updateApp() { - this.state.val++; - } - } - - await mount(Parent, fixture); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("00"); - - // click on button to increment Parent counter - const def = makeDeferred(); - fixture.querySelector("button")!.click(); - await nextTick(); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("10"); - - def.resolve(); - await nextTick(); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("11"); - }); - - test.skip("fast component with AsyncRoot", async () => { - class Child extends Component { - static template = xml``; - } - class AsyncChild extends Child { - willUpdateProps() { - return def; - } - } - - class Parent extends Component { - static template = xml` -
- -
- - - - -
-
`; - static components = { Child, AsyncChild /*AsyncRoot*/ }; - state = useState({ val: 0 }); - - updateApp() { - this.state.val++; - } - } - - await mount(Parent, fixture); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("00"); - - // click on button to increment Parent counter - const def = makeDeferred(); - fixture.querySelector("button")!.click(); - await nextTick(); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("10"); - - def.resolve(); - await nextTick(); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("11"); - }); - - test.skip("asyncroot component: mixed re-renderings", async () => { - class Child extends Component { - static template = xml` - - / - `; - state = useState({ val: 0 }); - - increment() { - this.state.val++; - } - } - class AsyncChild extends Child { - willUpdateProps() { - return def; - } - } - class Parent extends Component { - static template = xml` -
- -
- - - - -
-
`; - static components = { Child, AsyncChild /*AsyncRoot*/ }; - state = useState({ val: 0 }); - - updateApp() { - this.state.val++; - } - } - - const parent = await mount(Parent, fixture); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("0/00/0"); - - // click on button to increment Parent counter - const def = makeDeferred(); - fixture.querySelector("button")!.click(); - await nextTick(); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("0/10/0"); - - // click on each Child to increment their local counter - const children = (parent.el).querySelectorAll("span"); - children[0]!.click(); - await nextTick(); - expect(fixture.querySelector(".children")!.innerHTML).toBe("1/10/0"); - - children[1]!.click(); - await nextTick(); - expect(fixture.querySelector(".children")!.innerHTML).toBe("1/10/0"); - - // finalize first re-rendering (coming from the props update) - def.resolve(); - await nextTick(); - - expect(fixture.querySelector(".children")!.innerHTML).toBe("1/11/1"); - }); -});