diff --git a/src/browser/tests/inject_script.html b/src/browser/tests/inject_script.html new file mode 100644 index 00000000..f7917a54 --- /dev/null +++ b/src/browser/tests/inject_script.html @@ -0,0 +1,12 @@ + + +
+ + + + + + diff --git a/src/testing.zig b/src/testing.zig index 549d1349..ef8693b9 100644 --- a/src/testing.zig +++ b/src/testing.zig @@ -338,12 +338,20 @@ pub var test_notification: *Notification = undefined; pub var test_session: *Session = undefined; const WEB_API_TEST_ROOT = "src/browser/tests/"; -const HtmlRunnerOpts = struct {}; +const HtmlRunnerOpts = struct { + inject_script: ?[]const u8 = null, +}; pub fn htmlRunner(comptime path: []const u8, opts: HtmlRunnerOpts) !void { - _ = opts; defer reset(); + var inject_scripts: [1][]const u8 = undefined; + if (opts.inject_script) |script| { + inject_scripts[0] = script; + test_session.inject_scripts = inject_scripts[0..1]; + } + defer test_session.inject_scripts = &.{}; + const root = try std.fs.path.joinZ(arena_allocator, &.{ WEB_API_TEST_ROOT, path }); const stat = std.fs.cwd().statFile(root) catch |err| { std.debug.print("Failed to stat file: '{s}'", .{root});