summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration/run_tests.rs83
-rw-r--r--cli/tests/testdata/run/unstable_broadcast_channel.disabled.out2
-rw-r--r--cli/tests/testdata/run/unstable_broadcast_channel.enabled.out2
-rw-r--r--cli/tests/testdata/run/unstable_broadcast_channel.js10
-rw-r--r--cli/tests/testdata/run/unstable_cron.disabled.out2
-rw-r--r--cli/tests/testdata/run/unstable_cron.enabled.out2
-rw-r--r--cli/tests/testdata/run/unstable_cron.js10
-rw-r--r--cli/tests/testdata/run/unstable_ffi.disabled.out10
-rw-r--r--cli/tests/testdata/run/unstable_ffi.enabled.out10
-rw-r--r--cli/tests/testdata/run/unstable_ffi.js14
-rw-r--r--cli/tests/testdata/run/unstable_fs.disabled.out10
-rw-r--r--cli/tests/testdata/run/unstable_fs.enabled.out10
-rw-r--r--cli/tests/testdata/run/unstable_fs.js14
-rw-r--r--cli/tests/testdata/run/unstable_http.disabled.out16
-rw-r--r--cli/tests/testdata/run/unstable_http.enabled.out16
-rw-r--r--cli/tests/testdata/run/unstable_http.js17
-rw-r--r--cli/tests/testdata/run/unstable_kv.disabled.out10
-rw-r--r--cli/tests/testdata/run/unstable_kv.enabled.out10
-rw-r--r--cli/tests/testdata/run/unstable_kv.js14
-rw-r--r--cli/tests/testdata/run/unstable_net.disabled.out4
-rw-r--r--cli/tests/testdata/run/unstable_net.enabled.out4
-rw-r--r--cli/tests/testdata/run/unstable_net.js11
-rw-r--r--cli/tests/testdata/run/unstable_worker_options.disabled.out1
-rw-r--r--cli/tests/testdata/run/unstable_worker_options.enabled.out2
-rw-r--r--cli/tests/testdata/run/unstable_worker_options.js19
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");
+ }
+};