From 35be9f897f3ac58b104995a38f5cb26a05da1308 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 | 35 ++++++++------- 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(+), 35 deletions(-) diff --git a/src/browser/Page.zig b/src/browser/Page.zig index bfff78ce..70abf189 100644 --- a/src/browser/Page.zig +++ b/src/browser/Page.zig @@ -3585,12 +3585,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 6634ccf2..0d11b1bb 100644 --- a/src/browser/tests/frames/frames.html +++ b/src/browser/tests/frames/frames.html @@ -118,23 +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 @@