diff options
Diffstat (limited to 'std/examples/catj_test.ts')
-rw-r--r-- | std/examples/catj_test.ts | 98 |
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" }, - }); -} |