From e9041b9edc371f2cbd41a354591b5663f2bb4c84 Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Sun, 24 Apr 2022 16:21:22 +0100 Subject: fix(runtime/js/spawn): Pass stdio options for spawn() and spawnSync() (#14358) --- cli/tests/unit/command_test.ts | 62 +++++++++++++++--------------------------- 1 file changed, 22 insertions(+), 40 deletions(-) (limited to 'cli/tests/unit/command_test.ts') diff --git a/cli/tests/unit/command_test.ts b/cli/tests/unit/command_test.ts index f7213f034..4b3d5bd11 100644 --- a/cli/tests/unit/command_test.ts +++ b/cli/tests/unit/command_test.ts @@ -468,46 +468,6 @@ Deno.test( }, ); -Deno.test( - { permissions: { run: true, read: true } }, - async function spawnOverrideStdio() { - const { stdout, stderr } = await Deno.spawn(Deno.execPath(), { - args: [ - "eval", - "console.log('hello'); console.error('world')", - ], - stdin: "piped", - stdout: "null", - stderr: "null", - }); - - // @ts-ignore: for testing - assertEquals(new TextDecoder().decode(stdout), "hello\n"); - // @ts-ignore: for testing - assertEquals(new TextDecoder().decode(stderr), "world\n"); - }, -); - -Deno.test( - { permissions: { run: true, read: true } }, - function spawnSyncOverrideStdio() { - const { stdout, stderr } = Deno.spawnSync(Deno.execPath(), { - args: [ - "eval", - "console.log('hello'); console.error('world')", - ], - stdin: "piped", - stdout: "null", - stderr: "null", - }); - - // @ts-ignore: for testing - assertEquals(new TextDecoder().decode(stdout), "hello\n"); - // @ts-ignore: for testing - assertEquals(new TextDecoder().decode(stderr), "world\n"); - }, -); - Deno.test( { permissions: { run: true, read: true } }, async function spawnEnv() { @@ -685,3 +645,25 @@ Deno.test( } }, ); + +Deno.test(async function spawnStdinPipedFails() { + await assertRejects( + () => + Deno.spawn("id", { + stdin: "piped", + }), + TypeError, + "Piped stdin is not supported for this function, use 'Deno.spawnChild()' instead", + ); +}); + +Deno.test(function spawnSyncStdinPipedFails() { + assertThrows( + () => + Deno.spawnSync("id", { + stdin: "piped", + }), + TypeError, + "Piped stdin is not supported for this function, use 'Deno.spawnChild()' instead", + ); +}); -- cgit v1.2.3