summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-10-21 14:17:08 -0400
committerGitHub <noreply@github.com>2024-10-21 14:17:08 -0400
commit39fb55096ec12c8c18d15dff63a750a22169e3e6 (patch)
tree1e93aae8a6b35f0d6341941e204d583a218eef93 /tests
parent9fe2bf42dc584779cc43f0ec15a5a3d6dddca283 (diff)
fix(install): better json editing (#26450)
1. Respects the formatting of the file (ex. keeps four space indents or tabs). 2. Handles editing of comments. 3. Handles trailing commas. 4. Code is easier to maintain.
Diffstat (limited to 'tests')
-rw-r--r--tests/specs/add/comments_deno_json/__test__.jsonc16
-rw-r--r--tests/specs/add/comments_deno_json/deno.jsonc7
-rw-r--r--tests/specs/add/comments_deno_json/deno.jsonc.out9
-rw-r--r--tests/specs/add/dev/package.json.out4
-rw-r--r--tests/specs/add/existing_deps_singleline/__test__.jsonc16
-rw-r--r--tests/specs/add/existing_deps_singleline/package.json3
-rw-r--r--tests/specs/add/existing_deps_singleline/package.json.out6
-rw-r--r--tests/specs/add/exiting_dev_deps/__test__.jsonc16
-rw-r--r--tests/specs/add/exiting_dev_deps/package.json5
-rw-r--r--tests/specs/add/exiting_dev_deps/package.json.out8
-rw-r--r--tests/specs/install/install_add_dev/package.json4
-rw-r--r--tests/specs/remove/package_json/rm_add_package.json.out4
12 files changed, 89 insertions, 9 deletions
diff --git a/tests/specs/add/comments_deno_json/__test__.jsonc b/tests/specs/add/comments_deno_json/__test__.jsonc
new file mode 100644
index 000000000..7197eb473
--- /dev/null
+++ b/tests/specs/add/comments_deno_json/__test__.jsonc
@@ -0,0 +1,16 @@
+{
+ "tempDir": true,
+ "steps": [
+ {
+ "args": "add npm:@denotest/esm-basic jsr:@denotest/add",
+ "output": "[WILDCARD]"
+ },
+ {
+ "args": [
+ "eval",
+ "console.log(Deno.readTextFileSync('deno.jsonc').trim())"
+ ],
+ "output": "deno.jsonc.out"
+ }
+ ]
+}
diff --git a/tests/specs/add/comments_deno_json/deno.jsonc b/tests/specs/add/comments_deno_json/deno.jsonc
new file mode 100644
index 000000000..6a37b343d
--- /dev/null
+++ b/tests/specs/add/comments_deno_json/deno.jsonc
@@ -0,0 +1,7 @@
+// Testing four space indents too
+// deno-fmt-ignore
+{
+ "imports": {
+ "@denotest/add2": "npm:@denotest/add" // some comment
+ }
+}
diff --git a/tests/specs/add/comments_deno_json/deno.jsonc.out b/tests/specs/add/comments_deno_json/deno.jsonc.out
new file mode 100644
index 000000000..0cca35c64
--- /dev/null
+++ b/tests/specs/add/comments_deno_json/deno.jsonc.out
@@ -0,0 +1,9 @@
+// Testing four space indents too
+// deno-fmt-ignore
+{
+ "imports": {
+ "@denotest/add": "jsr:@denotest/add@^1.0.0",
+ "@denotest/add2": "npm:@denotest/add", // some comment
+ "@denotest/esm-basic": "npm:@denotest/esm-basic@^1.0.0"
+ }
+}
diff --git a/tests/specs/add/dev/package.json.out b/tests/specs/add/dev/package.json.out
index 866724397..d5ca56e00 100644
--- a/tests/specs/add/dev/package.json.out
+++ b/tests/specs/add/dev/package.json.out
@@ -1,5 +1,3 @@
{
- "devDependencies": {
- "@denotest/esm-basic": "^1.0.0"
- }
+ "devDependencies": { "@denotest/esm-basic": "^1.0.0" }
}
diff --git a/tests/specs/add/existing_deps_singleline/__test__.jsonc b/tests/specs/add/existing_deps_singleline/__test__.jsonc
new file mode 100644
index 000000000..8a6ef1a5f
--- /dev/null
+++ b/tests/specs/add/existing_deps_singleline/__test__.jsonc
@@ -0,0 +1,16 @@
+{
+ "tempDir": true,
+ "steps": [
+ {
+ "args": "add npm:@denotest/esm-basic",
+ "output": "[WILDCARD]"
+ },
+ {
+ "args": [
+ "eval",
+ "console.log(Deno.readTextFileSync('package.json').trim())"
+ ],
+ "output": "package.json.out"
+ }
+ ]
+}
diff --git a/tests/specs/add/existing_deps_singleline/package.json b/tests/specs/add/existing_deps_singleline/package.json
new file mode 100644
index 000000000..3677a6e2e
--- /dev/null
+++ b/tests/specs/add/existing_deps_singleline/package.json
@@ -0,0 +1,3 @@
+{
+ "dependencies": { "cowsay": "*" }
+}
diff --git a/tests/specs/add/existing_deps_singleline/package.json.out b/tests/specs/add/existing_deps_singleline/package.json.out
new file mode 100644
index 000000000..5a7fa3680
--- /dev/null
+++ b/tests/specs/add/existing_deps_singleline/package.json.out
@@ -0,0 +1,6 @@
+{
+ "dependencies": {
+ "@denotest/esm-basic": "^1.0.0",
+ "cowsay": "*"
+ }
+}
diff --git a/tests/specs/add/exiting_dev_deps/__test__.jsonc b/tests/specs/add/exiting_dev_deps/__test__.jsonc
new file mode 100644
index 000000000..8a6ef1a5f
--- /dev/null
+++ b/tests/specs/add/exiting_dev_deps/__test__.jsonc
@@ -0,0 +1,16 @@
+{
+ "tempDir": true,
+ "steps": [
+ {
+ "args": "add npm:@denotest/esm-basic",
+ "output": "[WILDCARD]"
+ },
+ {
+ "args": [
+ "eval",
+ "console.log(Deno.readTextFileSync('package.json').trim())"
+ ],
+ "output": "package.json.out"
+ }
+ ]
+}
diff --git a/tests/specs/add/exiting_dev_deps/package.json b/tests/specs/add/exiting_dev_deps/package.json
new file mode 100644
index 000000000..e7b8c5061
--- /dev/null
+++ b/tests/specs/add/exiting_dev_deps/package.json
@@ -0,0 +1,5 @@
+{
+ "devDependencies": {
+ "cowsay": "*"
+ }
+}
diff --git a/tests/specs/add/exiting_dev_deps/package.json.out b/tests/specs/add/exiting_dev_deps/package.json.out
new file mode 100644
index 000000000..9bff99bc2
--- /dev/null
+++ b/tests/specs/add/exiting_dev_deps/package.json.out
@@ -0,0 +1,8 @@
+{
+ "dependencies": {
+ "@denotest/esm-basic": "^1.0.0"
+ },
+ "devDependencies": {
+ "cowsay": "*"
+ }
+}
diff --git a/tests/specs/install/install_add_dev/package.json b/tests/specs/install/install_add_dev/package.json
index d5ca56e00..0967ef424 100644
--- a/tests/specs/install/install_add_dev/package.json
+++ b/tests/specs/install/install_add_dev/package.json
@@ -1,3 +1 @@
-{
- "devDependencies": { "@denotest/esm-basic": "^1.0.0" }
-}
+{}
diff --git a/tests/specs/remove/package_json/rm_add_package.json.out b/tests/specs/remove/package_json/rm_add_package.json.out
index 866724397..d5ca56e00 100644
--- a/tests/specs/remove/package_json/rm_add_package.json.out
+++ b/tests/specs/remove/package_json/rm_add_package.json.out
@@ -1,5 +1,3 @@
{
- "devDependencies": {
- "@denotest/esm-basic": "^1.0.0"
- }
+ "devDependencies": { "@denotest/esm-basic": "^1.0.0" }
}