summaryrefslogtreecommitdiff
path: root/cli/tests/dynamic_import
diff options
context:
space:
mode:
authorLuca Casonato <lucacasonato@yahoo.com>2021-05-17 09:44:38 +0200
committerLuca Casonato <lucacasonato@yahoo.com>2021-05-17 09:45:54 +0200
commit5151afa123a9635d2f4de9555f8843460b284a11 (patch)
tree7c4686c3f5562dc27d8b863897225236aeb97b14 /cli/tests/dynamic_import
parent910935c07125e4710830be0df32a16c3ef278ba6 (diff)
fix: static import permissions in dynamic imports
Co-authored-by: Bartek IwaƄczuk <biwanczuk@gmail.com>
Diffstat (limited to 'cli/tests/dynamic_import')
-rw-r--r--cli/tests/dynamic_import/permissions_blob_local.ts4
-rw-r--r--cli/tests/dynamic_import/permissions_blob_local.ts.out5
-rw-r--r--cli/tests/dynamic_import/permissions_blob_remote.ts4
-rw-r--r--cli/tests/dynamic_import/permissions_blob_remote.ts.out5
-rw-r--r--cli/tests/dynamic_import/permissions_data_local.ts3
-rw-r--r--cli/tests/dynamic_import/permissions_data_local.ts.out5
-rw-r--r--cli/tests/dynamic_import/permissions_data_remote.ts3
-rw-r--r--cli/tests/dynamic_import/permissions_data_remote.ts.out5
-rw-r--r--cli/tests/dynamic_import/permissions_remote_remote.ts3
-rw-r--r--cli/tests/dynamic_import/permissions_remote_remote.ts.out5
-rw-r--r--cli/tests/dynamic_import/static_remote.ts2
11 files changed, 44 insertions, 0 deletions
diff --git a/cli/tests/dynamic_import/permissions_blob_local.ts b/cli/tests/dynamic_import/permissions_blob_local.ts
new file mode 100644
index 000000000..571c72ca3
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_blob_local.ts
@@ -0,0 +1,4 @@
+// This file doesn't really exist, but it doesn't matter, a "PermissionsDenied" error should be thrown.
+const code = `import "file:///local_file.ts";`;
+const blob = new Blob([code]);
+await import(URL.createObjectURL(blob));
diff --git a/cli/tests/dynamic_import/permissions_blob_local.ts.out b/cli/tests/dynamic_import/permissions_blob_local.ts.out
new file mode 100644
index 000000000..d533d4903
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_blob_local.ts.out
@@ -0,0 +1,5 @@
+error: Uncaught (in promise) TypeError: Requires read access to "/local_file.ts", run again with the --allow-read flag
+ at blob:null/[WILDCARD]:1:0
+await import(URL.createObjectURL(blob));
+^
+ at async file:///[WILDCARD]/cli/tests/dynamic_import/permissions_blob_local.ts:4:1
diff --git a/cli/tests/dynamic_import/permissions_blob_remote.ts b/cli/tests/dynamic_import/permissions_blob_remote.ts
new file mode 100644
index 000000000..1e2c8c21a
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_blob_remote.ts
@@ -0,0 +1,4 @@
+// This file doesn't really exist, but it doesn't matter, a "PermissionsDenied" error should be thrown.
+const code = `import "https://example.com/some/file.ts";`;
+const blob = new Blob([code]);
+await import(URL.createObjectURL(blob));
diff --git a/cli/tests/dynamic_import/permissions_blob_remote.ts.out b/cli/tests/dynamic_import/permissions_blob_remote.ts.out
new file mode 100644
index 000000000..7992e0855
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_blob_remote.ts.out
@@ -0,0 +1,5 @@
+error: Uncaught (in promise) TypeError: Requires net access to "example.com", run again with the --allow-net flag
+ at blob:null/[WILDCARD]:1:0
+await import(URL.createObjectURL(blob));
+^
+ at async file:///[WILDCARD]/cli/tests/dynamic_import/permissions_blob_remote.ts:4:1
diff --git a/cli/tests/dynamic_import/permissions_data_local.ts b/cli/tests/dynamic_import/permissions_data_local.ts
new file mode 100644
index 000000000..04b3432eb
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_data_local.ts
@@ -0,0 +1,3 @@
+// This file doesn't really exist, but it doesn't matter, a "PermissionsDenied" error should be thrown.
+const code = `import "file:///local_file.ts";`;
+await import(`data:application/javascript;base64,${btoa(code)}`);
diff --git a/cli/tests/dynamic_import/permissions_data_local.ts.out b/cli/tests/dynamic_import/permissions_data_local.ts.out
new file mode 100644
index 000000000..0b3ac7779
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_data_local.ts.out
@@ -0,0 +1,5 @@
+error: Uncaught (in promise) TypeError: Requires read access to "/local_file.ts", run again with the --allow-read flag
+ at data:application/javascript;base64,aW1wb3J0ICJmaWxlOi8vL2xvY2FsX2ZpbGUudHMiOw==:1:0
+await import(`data:application/javascript;base64,${btoa(code)}`);
+^
+ at async file:///[WILDCARD]/cli/tests/dynamic_import/permissions_data_local.ts:3:1
diff --git a/cli/tests/dynamic_import/permissions_data_remote.ts b/cli/tests/dynamic_import/permissions_data_remote.ts
new file mode 100644
index 000000000..b0a9540c3
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_data_remote.ts
@@ -0,0 +1,3 @@
+// This file doesn't really exist, but it doesn't matter, a "PermissionsDenied" error should be thrown.
+const code = `import "https://example.com/some/file.ts";`;
+await import(`data:application/javascript;base64,${btoa(code)}`);
diff --git a/cli/tests/dynamic_import/permissions_data_remote.ts.out b/cli/tests/dynamic_import/permissions_data_remote.ts.out
new file mode 100644
index 000000000..6bb137091
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_data_remote.ts.out
@@ -0,0 +1,5 @@
+error: Uncaught (in promise) TypeError: Requires net access to "example.com", run again with the --allow-net flag
+ at data:application/javascript;base64,aW1wb3J0ICJodHRwczovL2V4YW1wbGUuY29tL3NvbWUvZmlsZS50cyI7:1:0
+await import(`data:application/javascript;base64,${btoa(code)}`);
+^
+ at async file:///[WILDCARD]/cli/tests/dynamic_import/permissions_data_remote.ts:3:1
diff --git a/cli/tests/dynamic_import/permissions_remote_remote.ts b/cli/tests/dynamic_import/permissions_remote_remote.ts
new file mode 100644
index 000000000..99de3f46f
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_remote_remote.ts
@@ -0,0 +1,3 @@
+await import(
+ "http://localhost:4545/cli/tests/dynamic_import/static_remote.ts"
+);
diff --git a/cli/tests/dynamic_import/permissions_remote_remote.ts.out b/cli/tests/dynamic_import/permissions_remote_remote.ts.out
new file mode 100644
index 000000000..ae8113899
--- /dev/null
+++ b/cli/tests/dynamic_import/permissions_remote_remote.ts.out
@@ -0,0 +1,5 @@
+error: Uncaught (in promise) TypeError: Requires net access to "example.com", run again with the --allow-net flag
+ at http://localhost:4545/cli/tests/dynamic_import/static_remote.ts:2:0
+await import(
+^
+ at async file:///[WILDCARD]/cli/tests/dynamic_import/permissions_remote_remote.ts:1:1
diff --git a/cli/tests/dynamic_import/static_remote.ts b/cli/tests/dynamic_import/static_remote.ts
new file mode 100644
index 000000000..2d6e820fd
--- /dev/null
+++ b/cli/tests/dynamic_import/static_remote.ts
@@ -0,0 +1,2 @@
+// This file doesn't really exist, but it doesn't matter, a "PermissionsDenied" error should be thrown.
+import "https://example.com/some/file.ts";