summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-08-07 09:43:05 +0200
committerGitHub <noreply@github.com>2024-08-07 07:43:05 +0000
commit04473c04ed59cc2a987af3405074591fbc1341a4 (patch)
tree50d56d1990328a6d32627e74ef73514525d78fde /tests
parent4fa8869f2487749a9f190cb3047f4f3e6d571f27 (diff)
fix(compile): support workspace members importing other members (#24909)
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/lsp_tests.rs5
-rw-r--r--tests/specs/compile/workspace/__test__.jsonc22
-rw-r--r--tests/specs/compile/workspace/add/deno.json5
-rw-r--r--tests/specs/compile/workspace/add/mod.test.ts6
-rw-r--r--tests/specs/compile/workspace/add/mod.ts3
-rw-r--r--tests/specs/compile/workspace/deno.json9
-rw-r--r--tests/specs/compile/workspace/deno.lock26
-rw-r--r--tests/specs/compile/workspace/main.out1
-rw-r--r--tests/specs/compile/workspace/main.ts3
-rw-r--r--tests/specs/compile/workspace/subtract/deno.json5
-rw-r--r--tests/specs/compile/workspace/subtract/mod.test.ts6
-rw-r--r--tests/specs/compile/workspace/subtract/mod.ts5
-rw-r--r--tests/specs/run/workspaces/basic/main.out6
13 files changed, 96 insertions, 6 deletions
diff --git a/tests/integration/lsp_tests.rs b/tests/integration/lsp_tests.rs
index d89061683..28c36cd20 100644
--- a/tests/integration/lsp_tests.rs
+++ b/tests/integration/lsp_tests.rs
@@ -14198,7 +14198,10 @@ fn lsp_deno_json_workspace_jsr_resolution() {
json!({
"contents": {
"kind": "markdown",
- "value": format!("**Resolved Dependency**\n\n**Code**: jsr&#8203;:&#8203;@org/project1&#8203;@^1.0.0 (<{}project1/mod.ts>)\n", temp_dir.uri()),
+ "value": format!(
+ "**Resolved Dependency**\n\n**Code**: file&#8203;://{}\n",
+ temp_dir.uri().join("project1/mod.ts").unwrap().path(),
+ ),
},
"range": {
"start": { "line": 0, "character": 7 },
diff --git a/tests/specs/compile/workspace/__test__.jsonc b/tests/specs/compile/workspace/__test__.jsonc
new file mode 100644
index 000000000..be2bbd1e4
--- /dev/null
+++ b/tests/specs/compile/workspace/__test__.jsonc
@@ -0,0 +1,22 @@
+{
+ "tempDir": true,
+ "steps": [{
+ "if": "unix",
+ "args": "compile --output main main.ts",
+ "output": "[WILDCARD]"
+ }, {
+ "if": "unix",
+ "commandName": "./main",
+ "args": [],
+ "output": "main.out"
+ }, {
+ "if": "windows",
+ "args": "compile --output main.exe main.ts",
+ "output": "[WILDCARD]"
+ }, {
+ "if": "windows",
+ "commandName": "./main.exe",
+ "args": [],
+ "output": "main.out"
+ }]
+}
diff --git a/tests/specs/compile/workspace/add/deno.json b/tests/specs/compile/workspace/add/deno.json
new file mode 100644
index 000000000..ad6afb93e
--- /dev/null
+++ b/tests/specs/compile/workspace/add/deno.json
@@ -0,0 +1,5 @@
+{
+ "name": "@david/add",
+ "version": "0.0.1",
+ "exports": "./mod.ts"
+}
diff --git a/tests/specs/compile/workspace/add/mod.test.ts b/tests/specs/compile/workspace/add/mod.test.ts
new file mode 100644
index 000000000..6de834e17
--- /dev/null
+++ b/tests/specs/compile/workspace/add/mod.test.ts
@@ -0,0 +1,6 @@
+import { add } from "./mod.ts";
+import { assertEquals } from "@std/assert";
+
+Deno.test("add", () => {
+ assertEquals(add(1, 2), 3);
+});
diff --git a/tests/specs/compile/workspace/add/mod.ts b/tests/specs/compile/workspace/add/mod.ts
new file mode 100644
index 000000000..8d9b8a22a
--- /dev/null
+++ b/tests/specs/compile/workspace/add/mod.ts
@@ -0,0 +1,3 @@
+export function add(a: number, b: number): number {
+ return a + b;
+}
diff --git a/tests/specs/compile/workspace/deno.json b/tests/specs/compile/workspace/deno.json
new file mode 100644
index 000000000..4504c4276
--- /dev/null
+++ b/tests/specs/compile/workspace/deno.json
@@ -0,0 +1,9 @@
+{
+ "workspace": [
+ "./add",
+ "./subtract"
+ ],
+ "imports": {
+ "@std/assert": "jsr:@std/assert@^1.0.2"
+ }
+}
diff --git a/tests/specs/compile/workspace/deno.lock b/tests/specs/compile/workspace/deno.lock
new file mode 100644
index 000000000..7ceb772c6
--- /dev/null
+++ b/tests/specs/compile/workspace/deno.lock
@@ -0,0 +1,26 @@
+{
+ "version": "3",
+ "packages": {
+ "specifiers": {
+ "jsr:@std/assert@^1.0.2": "jsr:@std/assert@1.0.2",
+ "jsr:@std/internal@^1.0.1": "jsr:@std/internal@1.0.1"
+ },
+ "jsr": {
+ "@std/assert@1.0.2": {
+ "integrity": "ccacec332958126deaceb5c63ff8b4eaf9f5ed0eac9feccf124110435e59e49c",
+ "dependencies": [
+ "jsr:@std/internal@^1.0.1"
+ ]
+ },
+ "@std/internal@1.0.1": {
+ "integrity": "6f8c7544d06a11dd256c8d6ba54b11ed870aac6c5aeafff499892662c57673e6"
+ }
+ }
+ },
+ "remote": {},
+ "workspace": {
+ "dependencies": [
+ "jsr:@std/assert@^1.0.2"
+ ]
+ }
+}
diff --git a/tests/specs/compile/workspace/main.out b/tests/specs/compile/workspace/main.out
new file mode 100644
index 000000000..a83d1d524
--- /dev/null
+++ b/tests/specs/compile/workspace/main.out
@@ -0,0 +1 @@
+-3
diff --git a/tests/specs/compile/workspace/main.ts b/tests/specs/compile/workspace/main.ts
new file mode 100644
index 000000000..896f107ad
--- /dev/null
+++ b/tests/specs/compile/workspace/main.ts
@@ -0,0 +1,3 @@
+import { subtract } from "@david/subtract";
+
+console.log(subtract(2, 5));
diff --git a/tests/specs/compile/workspace/subtract/deno.json b/tests/specs/compile/workspace/subtract/deno.json
new file mode 100644
index 000000000..d2bdfbec7
--- /dev/null
+++ b/tests/specs/compile/workspace/subtract/deno.json
@@ -0,0 +1,5 @@
+{
+ "name": "@david/subtract",
+ "version": "0.0.1",
+ "exports": "./mod.ts"
+}
diff --git a/tests/specs/compile/workspace/subtract/mod.test.ts b/tests/specs/compile/workspace/subtract/mod.test.ts
new file mode 100644
index 000000000..1bc00da1e
--- /dev/null
+++ b/tests/specs/compile/workspace/subtract/mod.test.ts
@@ -0,0 +1,6 @@
+import { subtract } from "./mod.ts";
+import { assertEquals } from "@std/assert";
+
+Deno.test("subtract", () => {
+ assertEquals(subtract(4, 2), 2);
+});
diff --git a/tests/specs/compile/workspace/subtract/mod.ts b/tests/specs/compile/workspace/subtract/mod.ts
new file mode 100644
index 000000000..3d8ba39af
--- /dev/null
+++ b/tests/specs/compile/workspace/subtract/mod.ts
@@ -0,0 +1,5 @@
+import { add } from "@david/add";
+
+export function subtract(a: number, b: number): number {
+ return add(a, -b);
+}
diff --git a/tests/specs/run/workspaces/basic/main.out b/tests/specs/run/workspaces/basic/main.out
index 9806f7d63..256b380af 100644
--- a/tests/specs/run/workspaces/basic/main.out
+++ b/tests/specs/run/workspaces/basic/main.out
@@ -1,11 +1,7 @@
[WILDCARD]Workspace config generated this import map {
"imports": {
"chalk": "npm:chalk",
- "chalk/": "npm:/chalk/",
- "asdfasdfasdf": "jsr:asdfasdfasdf@^0.0.0",
- "asdfasdfasdf/": "jsr:/asdfasdfasdf@^0.0.0/",
- "qwerqwer": "jsr:qwerqwer@^0.0.0",
- "qwerqwer/": "jsr:/qwerqwer@^0.0.0/"
+ "chalk/": "npm:/chalk/"
},
"scopes": {
"./bar/": {