diff --git a/tests/animations.test.ts b/tests/animations.test.ts index 85b40842..ff45b292 100644 --- a/tests/animations.test.ts +++ b/tests/animations.test.ts @@ -420,29 +420,29 @@ describe("animations", () => { widget.state.flag = true; - await nextFrame(); + await nextFrame(3); widget.el!.querySelector("span")!.dispatchEvent(new Event("transitionend")); expect(fixture.innerHTML).toBe('
blue
'); expect(QWeb.utils.transitionInsert).toBeCalledTimes(1); widget.state.flag = false; - await nextFrame(); + await nextFrame(3); expect(fixture.innerHTML).toBe( '
blue
' ); expect(QWeb.utils.transitionInsert).toBeCalledTimes(1); widget.state.flag = true; - await nextFrame(); + await nextFrame(3); expect(fixture.innerHTML).toBe( '
blue
' ); expect(QWeb.utils.transitionInsert).toBeCalledTimes(2); widget.state.flag = false; - await nextFrame(); + await nextFrame(3); widget.state.flag = true; - await nextFrame(); + await nextFrame(3); expect(QWeb.utils.transitionInsert).toBeCalledTimes(3); widget.el!.querySelector("span")!.dispatchEvent(new Event("transitionend")); diff --git a/tests/helpers.ts b/tests/helpers.ts index c569329d..ef1bb6f6 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -41,9 +41,10 @@ export async function nextTick(): Promise { await new Promise((resolve) => scheduler.requestAnimationFrame(resolve)); } -export async function nextFrame(): Promise { - await new Promise((resolve) => scheduler.requestAnimationFrame(resolve)); - await new Promise((resolve) => scheduler.requestAnimationFrame(resolve)); +export async function nextFrame(numberOfAnimationFrames: number = 2): Promise { + for (let i = 0; i < numberOfAnimationFrames; i++) { + await new Promise((resolve) => scheduler.requestAnimationFrame(resolve)); + } } export function makeTestFixture() {