diff options
Diffstat (limited to 'cli/tests')
25 files changed, 303 insertions, 0 deletions
diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index 058f92572..c96d68b93 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -1577,6 +1577,89 @@ itest!(unstable_worker { output: "run/unstable_worker.ts.out", }); +itest!(unstable_worker_options_disabled { + args: "run --quiet --reload --allow-read run/unstable_worker_options.js", + output: "run/unstable_worker_options.disabled.out", + exit_code: 70, +}); + +itest!(unstable_worker_options_enabled { + args: "run --quiet --reload --allow-read --unstable-worker-options run/unstable_worker_options.js", + output: "run/unstable_worker_options.enabled.out", +}); + +itest!(unstable_broadcast_channel_disabled { + args: "run --quiet --reload --allow-read run/unstable_broadcast_channel.js", + output: "run/unstable_broadcast_channel.disabled.out", +}); + +itest!(unstable_broadcast_channel_enabled { + args: "run --quiet --reload --allow-read --unstable-broadcast-channel run/unstable_broadcast_channel.js", + output: "run/unstable_broadcast_channel.enabled.out", +}); + +itest!(unstable_cron_disabled { + args: "run --quiet --reload --allow-read run/unstable_cron.js", + output: "run/unstable_cron.disabled.out", +}); + +itest!(unstable_cron_enabled { + args: + "run --quiet --reload --allow-read --unstable-cron run/unstable_cron.js", + output: "run/unstable_cron.enabled.out", +}); + +itest!(unstable_ffi_disabled { + args: "run --quiet --reload --allow-read run/unstable_ffi.js", + output: "run/unstable_ffi.disabled.out", +}); + +itest!(unstable_ffi_enabled { + args: "run --quiet --reload --allow-read --unstable-ffi run/unstable_ffi.js", + output: "run/unstable_ffi.enabled.out", +}); + +itest!(unstable_fs_disabled { + args: "run --quiet --reload --allow-read run/unstable_fs.js", + output: "run/unstable_fs.disabled.out", +}); + +itest!(unstable_fs_enabled { + args: "run --quiet --reload --allow-read --unstable-fs run/unstable_fs.js", + output: "run/unstable_fs.enabled.out", +}); + +itest!(unstable_http_disabled { + args: "run --quiet --reload --allow-read run/unstable_http.js", + output: "run/unstable_http.disabled.out", +}); + +itest!(unstable_http_enabled { + args: + "run --quiet --reload --allow-read --unstable-http run/unstable_http.js", + output: "run/unstable_http.enabled.out", +}); + +itest!(unstable_net_disabled { + args: "run --quiet --reload --allow-read run/unstable_net.js", + output: "run/unstable_net.disabled.out", +}); + +itest!(unstable_net_enabled { + args: "run --quiet --reload --allow-read --unstable-net run/unstable_net.js", + output: "run/unstable_net.enabled.out", +}); + +itest!(unstable_kv_disabled { + args: "run --quiet --reload --allow-read run/unstable_kv.js", + output: "run/unstable_kv.disabled.out", +}); + +itest!(unstable_kv_enabled { + args: "run --quiet --reload --allow-read --unstable-kv run/unstable_kv.js", + output: "run/unstable_kv.enabled.out", +}); + itest!(import_compression { args: "run --quiet --reload --allow-net run/import_compression/main.ts", output: "run/import_compression/main.out", diff --git a/cli/tests/testdata/run/unstable_broadcast_channel.disabled.out b/cli/tests/testdata/run/unstable_broadcast_channel.disabled.out new file mode 100644 index 000000000..775866352 --- /dev/null +++ b/cli/tests/testdata/run/unstable_broadcast_channel.disabled.out @@ -0,0 +1,2 @@ +main undefined +worker undefined diff --git a/cli/tests/testdata/run/unstable_broadcast_channel.enabled.out b/cli/tests/testdata/run/unstable_broadcast_channel.enabled.out new file mode 100644 index 000000000..b3701ce44 --- /dev/null +++ b/cli/tests/testdata/run/unstable_broadcast_channel.enabled.out @@ -0,0 +1,2 @@ +main [class BroadcastChannel extends EventTarget] +worker [class BroadcastChannel extends EventTarget] diff --git a/cli/tests/testdata/run/unstable_broadcast_channel.js b/cli/tests/testdata/run/unstable_broadcast_channel.js new file mode 100644 index 000000000..b8576aa22 --- /dev/null +++ b/cli/tests/testdata/run/unstable_broadcast_channel.js @@ -0,0 +1,10 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +console.log(scope, globalThis.BroadcastChannel); + +if (scope === "worker") { + postMessage("done"); +} else { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); +} diff --git a/cli/tests/testdata/run/unstable_cron.disabled.out b/cli/tests/testdata/run/unstable_cron.disabled.out new file mode 100644 index 000000000..775866352 --- /dev/null +++ b/cli/tests/testdata/run/unstable_cron.disabled.out @@ -0,0 +1,2 @@ +main undefined +worker undefined diff --git a/cli/tests/testdata/run/unstable_cron.enabled.out b/cli/tests/testdata/run/unstable_cron.enabled.out new file mode 100644 index 000000000..d18304f1f --- /dev/null +++ b/cli/tests/testdata/run/unstable_cron.enabled.out @@ -0,0 +1,2 @@ +main [Function: cron] +worker [Function: cron] diff --git a/cli/tests/testdata/run/unstable_cron.js b/cli/tests/testdata/run/unstable_cron.js new file mode 100644 index 000000000..3114f6e55 --- /dev/null +++ b/cli/tests/testdata/run/unstable_cron.js @@ -0,0 +1,10 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +console.log(scope, Deno.cron); + +if (scope === "worker") { + postMessage("done"); +} else { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); +} diff --git a/cli/tests/testdata/run/unstable_ffi.disabled.out b/cli/tests/testdata/run/unstable_ffi.disabled.out new file mode 100644 index 000000000..0d8ac4410 --- /dev/null +++ b/cli/tests/testdata/run/unstable_ffi.disabled.out @@ -0,0 +1,10 @@ +main undefined +main undefined +main undefined +main undefined +main undefined +worker undefined +worker undefined +worker undefined +worker undefined +worker undefined diff --git a/cli/tests/testdata/run/unstable_ffi.enabled.out b/cli/tests/testdata/run/unstable_ffi.enabled.out new file mode 100644 index 000000000..672b2a2a2 --- /dev/null +++ b/cli/tests/testdata/run/unstable_ffi.enabled.out @@ -0,0 +1,10 @@ +main [class UnsafeCallback] +main [class UnsafeFnPointer] +main [class UnsafePointer] +main [class UnsafePointerView] +main [Function: dlopen] +worker [class UnsafeCallback] +worker [class UnsafeFnPointer] +worker [class UnsafePointer] +worker [class UnsafePointerView] +worker [Function: dlopen] diff --git a/cli/tests/testdata/run/unstable_ffi.js b/cli/tests/testdata/run/unstable_ffi.js new file mode 100644 index 000000000..4809c5ffe --- /dev/null +++ b/cli/tests/testdata/run/unstable_ffi.js @@ -0,0 +1,14 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +console.log(scope, Deno.UnsafeCallback); +console.log(scope, Deno.UnsafeFnPointer); +console.log(scope, Deno.UnsafePointer); +console.log(scope, Deno.UnsafePointerView); +console.log(scope, Deno.dlopen); + +if (scope === "worker") { + postMessage("done"); +} else { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); +} diff --git a/cli/tests/testdata/run/unstable_fs.disabled.out b/cli/tests/testdata/run/unstable_fs.disabled.out new file mode 100644 index 000000000..0d8ac4410 --- /dev/null +++ b/cli/tests/testdata/run/unstable_fs.disabled.out @@ -0,0 +1,10 @@ +main undefined +main undefined +main undefined +main undefined +main undefined +worker undefined +worker undefined +worker undefined +worker undefined +worker undefined diff --git a/cli/tests/testdata/run/unstable_fs.enabled.out b/cli/tests/testdata/run/unstable_fs.enabled.out new file mode 100644 index 000000000..6938fa9c2 --- /dev/null +++ b/cli/tests/testdata/run/unstable_fs.enabled.out @@ -0,0 +1,10 @@ +main [AsyncFunction: flock] +main [Function: flockSync] +main [AsyncFunction: funlock] +main [Function: funlockSync] +main [Function: umask] +worker [AsyncFunction: flock] +worker [Function: flockSync] +worker [AsyncFunction: funlock] +worker [Function: funlockSync] +worker [Function: umask] diff --git a/cli/tests/testdata/run/unstable_fs.js b/cli/tests/testdata/run/unstable_fs.js new file mode 100644 index 000000000..83f14f2fd --- /dev/null +++ b/cli/tests/testdata/run/unstable_fs.js @@ -0,0 +1,14 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +console.log(scope, Deno.flock); +console.log(scope, Deno.flockSync); +console.log(scope, Deno.funlock); +console.log(scope, Deno.funlockSync); +console.log(scope, Deno.umask); + +if (scope === "worker") { + postMessage("done"); +} else { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); +} diff --git a/cli/tests/testdata/run/unstable_http.disabled.out b/cli/tests/testdata/run/unstable_http.disabled.out new file mode 100644 index 000000000..63a6c83c5 --- /dev/null +++ b/cli/tests/testdata/run/unstable_http.disabled.out @@ -0,0 +1,16 @@ +main undefined +main undefined +main undefined +main undefined +main undefined +main undefined +main undefined +main undefined +worker undefined +worker undefined +worker undefined +worker undefined +worker undefined +worker undefined +worker undefined +worker undefined diff --git a/cli/tests/testdata/run/unstable_http.enabled.out b/cli/tests/testdata/run/unstable_http.enabled.out new file mode 100644 index 000000000..558f1f542 --- /dev/null +++ b/cli/tests/testdata/run/unstable_http.enabled.out @@ -0,0 +1,16 @@ +main [class HttpClient] +main [Function: createHttpClient] +main [class HttpConn] +main Symbol("[[associated_ws]]") +main [Function: serve] +main [Function: upgradeHttp] +main [Function: upgradeWebSocket] +main [Function: upgradeHttp] +worker [class HttpClient] +worker [Function: createHttpClient] +worker [class HttpConn] +worker Symbol("[[associated_ws]]") +worker [Function: serve] +worker [Function: upgradeHttp] +worker [Function: upgradeWebSocket] +worker [Function: upgradeHttp] diff --git a/cli/tests/testdata/run/unstable_http.js b/cli/tests/testdata/run/unstable_http.js new file mode 100644 index 000000000..012519657 --- /dev/null +++ b/cli/tests/testdata/run/unstable_http.js @@ -0,0 +1,17 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +console.log(scope, Deno.HttpClient); +console.log(scope, Deno.createHttpClient); +console.log(scope, Deno.http?.HttpConn); +console.log(scope, Deno.http?._ws); +console.log(scope, Deno.http?.serve); +console.log(scope, Deno.http?.upgradeHttp); +console.log(scope, Deno.http?.upgradeWebSocket); +console.log(scope, Deno.upgradeHttp); + +if (scope === "worker") { + postMessage("done"); +} else { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); +} diff --git a/cli/tests/testdata/run/unstable_kv.disabled.out b/cli/tests/testdata/run/unstable_kv.disabled.out new file mode 100644 index 000000000..0d8ac4410 --- /dev/null +++ b/cli/tests/testdata/run/unstable_kv.disabled.out @@ -0,0 +1,10 @@ +main undefined +main undefined +main undefined +main undefined +main undefined +worker undefined +worker undefined +worker undefined +worker undefined +worker undefined diff --git a/cli/tests/testdata/run/unstable_kv.enabled.out b/cli/tests/testdata/run/unstable_kv.enabled.out new file mode 100644 index 000000000..a1356cefc --- /dev/null +++ b/cli/tests/testdata/run/unstable_kv.enabled.out @@ -0,0 +1,10 @@ +main [class AtomicOperation] +main [class Kv] +main [class KvListIterator extends Object] +main [class KvU64] +main [AsyncFunction: openKv] +worker [class AtomicOperation] +worker [class Kv] +worker [class KvListIterator extends Object] +worker [class KvU64] +worker [AsyncFunction: openKv] diff --git a/cli/tests/testdata/run/unstable_kv.js b/cli/tests/testdata/run/unstable_kv.js new file mode 100644 index 000000000..17c0e05aa --- /dev/null +++ b/cli/tests/testdata/run/unstable_kv.js @@ -0,0 +1,14 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +console.log(scope, Deno.AtomicOperation); +console.log(scope, Deno.Kv); +console.log(scope, Deno.KvListIterator); +console.log(scope, Deno.KvU64); +console.log(scope, Deno.openKv); + +if (scope === "worker") { + postMessage("done"); +} else { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); +} diff --git a/cli/tests/testdata/run/unstable_net.disabled.out b/cli/tests/testdata/run/unstable_net.disabled.out new file mode 100644 index 000000000..3562f72fd --- /dev/null +++ b/cli/tests/testdata/run/unstable_net.disabled.out @@ -0,0 +1,4 @@ +main undefined +main undefined +worker undefined +worker undefined diff --git a/cli/tests/testdata/run/unstable_net.enabled.out b/cli/tests/testdata/run/unstable_net.enabled.out new file mode 100644 index 000000000..8b86637f3 --- /dev/null +++ b/cli/tests/testdata/run/unstable_net.enabled.out @@ -0,0 +1,4 @@ +main [Function: listenDatagram] +main [class WebSocketStream] +worker [Function: listenDatagram] +worker [class WebSocketStream] diff --git a/cli/tests/testdata/run/unstable_net.js b/cli/tests/testdata/run/unstable_net.js new file mode 100644 index 000000000..4492b202b --- /dev/null +++ b/cli/tests/testdata/run/unstable_net.js @@ -0,0 +1,11 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +console.log(scope, Deno.listenDatagram); +console.log(scope, globalThis.WebSocketStream); + +if (scope === "worker") { + postMessage("done"); +} else { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); +} diff --git a/cli/tests/testdata/run/unstable_worker_options.disabled.out b/cli/tests/testdata/run/unstable_worker_options.disabled.out new file mode 100644 index 000000000..03f189c25 --- /dev/null +++ b/cli/tests/testdata/run/unstable_worker_options.disabled.out @@ -0,0 +1 @@ +Unstable API 'Worker.deno.permissions'. The --unstable flag must be provided. diff --git a/cli/tests/testdata/run/unstable_worker_options.enabled.out b/cli/tests/testdata/run/unstable_worker_options.enabled.out new file mode 100644 index 000000000..57a52b019 --- /dev/null +++ b/cli/tests/testdata/run/unstable_worker_options.enabled.out @@ -0,0 +1,2 @@ +main ok +worker ok diff --git a/cli/tests/testdata/run/unstable_worker_options.js b/cli/tests/testdata/run/unstable_worker_options.js new file mode 100644 index 000000000..213eb3ee6 --- /dev/null +++ b/cli/tests/testdata/run/unstable_worker_options.js @@ -0,0 +1,19 @@ +const scope = import.meta.url.slice(-7) === "#worker" ? "worker" : "main"; + +new Worker(`data:application/javascript;base64,${btoa(`postMessage("ok");`)}`, { + type: "module", + deno: { + permissions: { + read: true, + }, + }, +}).onmessage = ({ data }) => { + console.log(scope, data); + + if (scope === "main") { + const worker = new Worker(`${import.meta.url}#worker`, { type: "module" }); + worker.onmessage = () => Deno.exit(0); + } else { + postMessage("done"); + } +}; |