From 740f7b0fb684b15d541066f1b6cddd11a9f470de Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 14 Dec 2025 05:51:12 +0000 Subject: [PATCH] test(ios): exercise ScreenController eval --- apps/ios/Tests/ScreenControllerTests.swift | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/ios/Tests/ScreenControllerTests.swift b/apps/ios/Tests/ScreenControllerTests.swift index e25960cbd..765940fe0 100644 --- a/apps/ios/Tests/ScreenControllerTests.swift +++ b/apps/ios/Tests/ScreenControllerTests.swift @@ -19,10 +19,27 @@ import WebKit @Test @MainActor func webModeRejectsInvalidURLStrings() { let screen = ScreenController() - screen.navigate(to: " \n") + screen.navigate(to: "about:blank") screen.setMode(.web) #expect(screen.mode == .web) } -} + @Test @MainActor func evalExecutesJavaScript() async throws { + let screen = ScreenController() + let deadline = ContinuousClock().now.advanced(by: .seconds(3)) + + while true { + do { + let result = try await screen.eval(javaScript: "1+1") + #expect(result == "2") + return + } catch { + if ContinuousClock().now >= deadline { + throw error + } + try? await Task.sleep(nanoseconds: 100_000_000) + } + } + } +}