diff options
author | await-ovo <13152410380@163.com> | 2023-08-15 23:04:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-15 17:04:36 +0200 |
commit | 41cad2179fb36c2371ab84ce587d3460af64b5fb (patch) | |
tree | c4d4f05e660cdcd9cbb74eb10ca37515241ca913 /cli | |
parent | ddbb5fdfb034517f200e298c1a5de8aa03b5e5e5 (diff) |
fix(runtime): navigator.userAgent in web worker (#20129)
Fixes https://github.com/denoland/deno/issues/20079
---------
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'cli')
-rw-r--r-- | cli/tests/testdata/workers/test.ts | 20 | ||||
-rw-r--r-- | cli/tests/testdata/workers/worker_navigator.ts | 11 |
2 files changed, 31 insertions, 0 deletions
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 @@ -120,6 +120,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 () { const fetchingWorker = new Worker( 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(); +}; |