summaryrefslogtreecommitdiff
path: root/test/parallel/test-child-process-fork-stdio-string-variant.js
diff options
context:
space:
mode:
authorJavis Sullivan <javissullivan@gmail.com>2017-01-18 02:22:37 -0500
committerSam Roberts <vieuxtech@gmail.com>2017-01-27 12:06:48 -0800
commit3268863ebc40d1f0beee61b044c492b43fa57fa5 (patch)
tree68c5f5323cc0bcb78f4603463ec946e936224849 /test/parallel/test-child-process-fork-stdio-string-variant.js
parentb6d2fc9b0f6a896462fe3e78cf95e48ecef59053 (diff)
downloadnode-new-3268863ebc40d1f0beee61b044c492b43fa57fa5.tar.gz
child_process: add string shortcut for fork stdio
Add string shortcut option for stdio parameter. Fixes: https://github.com/nodejs/node/issues/10793 PR-URL: https://github.com/nodejs/node/pull/10866 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Brian White <mscdex@mscdex.net>
Diffstat (limited to 'test/parallel/test-child-process-fork-stdio-string-variant.js')
-rw-r--r--test/parallel/test-child-process-fork-stdio-string-variant.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/parallel/test-child-process-fork-stdio-string-variant.js b/test/parallel/test-child-process-fork-stdio-string-variant.js
new file mode 100644
index 0000000000..93676892b6
--- /dev/null
+++ b/test/parallel/test-child-process-fork-stdio-string-variant.js
@@ -0,0 +1,27 @@
+'use strict';
+const common = require('../common');
+
+// Ensures that child_process.fork can accept string
+// variant of stdio parameter in options object and
+// throws a TypeError when given an unexpected string
+
+const assert = require('assert');
+const fork = require('child_process').fork;
+
+const childScript = `${common.fixturesDir}/child-process-spawn-node`;
+const errorRegexp = /^TypeError: Unknown stdio option$/;
+const malFormedOpts = {stdio: '33'};
+const payload = {hello: 'world'};
+const stringOpts = {stdio: 'pipe'};
+
+assert.throws(() => fork(childScript, malFormedOpts), errorRegexp);
+
+const child = fork(childScript, stringOpts);
+
+child.on('message', (message) => {
+ assert.deepStrictEqual(message, {foo: 'bar'});
+});
+
+child.send(payload);
+
+child.on('exit', common.mustCall((code) => assert.strictEqual(code, 0)));