summaryrefslogtreecommitdiff
path: root/std/examples/catj_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/examples/catj_test.ts')
-rw-r--r--std/examples/catj_test.ts98
1 files changed, 0 insertions, 98 deletions
diff --git a/std/examples/catj_test.ts b/std/examples/catj_test.ts
deleted file mode 100644
index 365b5c0b7..000000000
--- a/std/examples/catj_test.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assertStrictEquals } from "../testing/asserts.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test("[examples/catj] print an array", async () => {
- const decoder = new TextDecoder();
- const process = catj("testdata/catj/array.json");
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = [
- '.[0] = "string"',
- ".[1] = 100",
- '.[2].key = "value"',
- '.[2].array[0] = "foo"',
- '.[2].array[1] = "bar"',
- ].join("\n");
-
- assertStrictEquals(actual, expected);
- } finally {
- process.stdin.close();
- process.close();
- }
-});
-
-Deno.test("[examples/catj] print an object", async () => {
- const decoder = new TextDecoder();
- const process = catj("testdata/catj/object.json");
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = [
- '.string = "foobar"',
- ".number = 123",
- '.array[0].message = "hello"',
- ].join("\n");
-
- assertStrictEquals(actual, expected);
- } finally {
- process.stdin.close();
- process.close();
- }
-});
-
-Deno.test("[examples/catj] print multiple files", async () => {
- const decoder = new TextDecoder();
- const process = catj(
- "testdata/catj/simple-object.json",
- "testdata/catj/simple-array.json",
- );
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = ['.message = "hello"', ".[0] = 1", ".[1] = 2"].join("\n");
-
- assertStrictEquals(actual, expected);
- } finally {
- process.stdin.close();
- process.close();
- }
-});
-
-Deno.test("[examples/catj] read from stdin", async () => {
- const decoder = new TextDecoder();
- const process = catj("-");
- const input = `{ "foo": "bar" }`;
- try {
- await process.stdin.write(new TextEncoder().encode(input));
- process.stdin.close();
- const output = await process.output();
- const actual = decoder.decode(output).trim();
-
- assertStrictEquals(actual, '.foo = "bar"');
- } finally {
- process.close();
- }
-});
-
-function catj(
- ...files: string[]
-): Deno.Process<Deno.RunOptions & { stdin: "piped"; stdout: "piped" }> {
- return Deno.run({
- cmd: [
- Deno.execPath(),
- "run",
- "--quiet",
- "--allow-read",
- "catj.ts",
- ...files,
- ],
- cwd: moduleDir,
- stdin: "piped",
- stdout: "piped",
- env: { NO_COLOR: "true" },
- });
-}