From 11ed95290b2abe3a70bfa2d2e670142f8a22927c Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Mon, 23 Mar 2026 17:09:37 +0800 Subject: [PATCH] Improve async tests testing.async(...) is pretty lame. It works for simple cases, where the microtask is very quickly resolved, but otherwise can't block the test from exiting. This adds an overload to testing.async and leverages the new Runner https://github.com/lightpanda-io/browser/pull/1958 to "tick" until completion (or timeout). The overloaded version of testing.async() (called without a callback) will increment a counter which is only decremented with the promise is resolved. The test runner will now `tick` until the counter == 0. --- src/browser/Page.zig | 7 +-- src/browser/tests/frames/frames.html | 36 +++++++-------- src/browser/tests/frames/post_message.html | 1 - .../frames/support/message_receiver.html | 1 - src/browser/tests/testing.js | 26 +++++++++++ src/testing.zig | 45 ++++++++++++++----- 6 files changed, 80 insertions(+), 36 deletions(-) diff --git a/src/browser/Page.zig b/src/browser/Page.zig index 42e65a52..ac20c3c5 100644 --- a/src/browser/Page.zig +++ b/src/browser/Page.zig @@ -3587,12 +3587,7 @@ test "WebApi: Page" { } test "WebApi: Frames" { - // TOO FLAKY, disabled for now - - // const filter: testing.LogFilter = .init(&.{.js}); - // defer filter.deinit(); - - // try testing.htmlRunner("frames", .{}); + try testing.htmlRunner("frames", .{}); } test "WebApi: Integration" { diff --git a/src/browser/tests/frames/frames.html b/src/browser/tests/frames/frames.html index 36c74a66..0d11b1bb 100644 --- a/src/browser/tests/frames/frames.html +++ b/src/browser/tests/frames/frames.html @@ -118,24 +118,24 @@ } - diff --git a/src/browser/tests/frames/post_message.html b/src/browser/tests/frames/post_message.html index 837897c3..4899eb1e 100644 --- a/src/browser/tests/frames/post_message.html +++ b/src/browser/tests/frames/post_message.html @@ -7,7 +7,6 @@ { let reply = null; window.addEventListener('message', (e) => { - console.warn('reply') reply = e.data; }); diff --git a/src/browser/tests/frames/support/message_receiver.html b/src/browser/tests/frames/support/message_receiver.html index 55612a7c..fa9d594d 100644 --- a/src/browser/tests/frames/support/message_receiver.html +++ b/src/browser/tests/frames/support/message_receiver.html @@ -1,7 +1,6 @@