diff options
author | Javis Sullivan <javissullivan@gmail.com> | 2017-01-18 02:22:37 -0500 |
---|---|---|
committer | Sam Roberts <vieuxtech@gmail.com> | 2017-01-27 12:06:48 -0800 |
commit | 3268863ebc40d1f0beee61b044c492b43fa57fa5 (patch) | |
tree | 68c5f5323cc0bcb78f4603463ec946e936224849 /test/parallel/test-child-process-fork-stdio-string-variant.js | |
parent | b6d2fc9b0f6a896462fe3e78cf95e48ecef59053 (diff) | |
download | node-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.js | 27 |
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))); |