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() {