diff --git a/packages/app/src/pages/session/timeline/observe-element-offset.test.ts b/packages/app/src/pages/session/timeline/observe-element-offset.test.ts index d656a314157..9cca163d6bf 100644 --- a/packages/app/src/pages/session/timeline/observe-element-offset.test.ts +++ b/packages/app/src/pages/session/timeline/observe-element-offset.test.ts @@ -45,8 +45,7 @@ test("reports a divergent native offset once and ignores equal offsets and unrel route.remove() document.body.append(route) - await new Promise((resolve) => setTimeout(resolve, 0)) - await frames(3) + await waitFor(() => calls.length === 1) expect(calls).toEqual([[0, false]]) route.remove() @@ -197,3 +196,8 @@ async function frames(count: number) { await new Promise((resolve) => requestAnimationFrame(() => resolve())) } } + +async function waitFor(condition: () => boolean) { + const deadline = performance.now() + 1_000 + while (!condition() && performance.now() < deadline) await frames(1) +}