From 41cad2179fb36c2371ab84ce587d3460af64b5fb Mon Sep 17 00:00:00 2001 From: await-ovo <13152410380@163.com> Date: Tue, 15 Aug 2023 23:04:36 +0800 Subject: fix(runtime): navigator.userAgent in web worker (#20129) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes https://github.com/denoland/deno/issues/20079 --------- Co-authored-by: Bartek IwaƄczuk --- cli/tests/testdata/workers/test.ts | 20 ++++++++++++++++++++ cli/tests/testdata/workers/worker_navigator.ts | 11 +++++++++++ 2 files changed, 31 insertions(+) create mode 100644 cli/tests/testdata/workers/worker_navigator.ts (limited to 'cli') diff --git a/cli/tests/testdata/workers/test.ts b/cli/tests/testdata/workers/test.ts index 506bb4c31..90cc6a649 100644 --- a/cli/tests/testdata/workers/test.ts +++ b/cli/tests/testdata/workers/test.ts @@ -119,6 +119,26 @@ Deno.test({ }, }); +Deno.test({ + name: "worker navigator", + fn: async function () { + const workerOptions: WorkerOptions = { type: "module" }; + const w = new Worker( + import.meta.resolve("./worker_navigator.ts"), + workerOptions, + ); + + const promise = deferred(); + w.onmessage = (e) => { + promise.resolve(e.data); + }; + + w.postMessage("Hello, world!"); + assertEquals(await promise, "string, object, string, number"); + w.terminate(); + }, +}); + Deno.test({ name: "worker fetch API", fn: async function () { diff --git a/cli/tests/testdata/workers/worker_navigator.ts b/cli/tests/testdata/workers/worker_navigator.ts new file mode 100644 index 000000000..bd364a8f9 --- /dev/null +++ b/cli/tests/testdata/workers/worker_navigator.ts @@ -0,0 +1,11 @@ +onmessage = function () { + postMessage( + [ + typeof navigator.language, + typeof navigator.languages, + typeof navigator.userAgent, + typeof navigator.hardwareConcurrency, + ].join(", "), + ); + close(); +}; -- cgit v1.2.3