| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 3e729ce commit ec2940b
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,49 +3,48 @@ | |||
| 3 | 3 | const common = require('../common'); | |
| 4 | 4 | const assert = require('assert'); | |
| 5 | 5 | const cp = require('child_process'); | |
| 6 | + const { test } = require('node:test'); | ||
| 6 | 7 | const internalCp = require('internal/child_process'); | |
| 7 | 8 | const cmd = process.execPath; | |
| 8 | 9 | const args = ['-p', '42']; | |
| 9 | 10 | const options = { windowsHide: true }; | |
| 10 | 11 | ||
| 11 | - // Since windowsHide isn't really observable, monkey patch spawn() and | ||
| 12 | - // spawnSync() to verify that the flag is being passed through correctly. | ||
| 13 | - const originalSpawn = internalCp.ChildProcess.prototype.spawn; | ||
| 14 | - const originalSpawnSync = internalCp.spawnSync; | ||
| 12 | + // Since windowsHide isn't really observable, this test relies on monkey | ||
| 13 | + // patching spawn() and spawnSync() to verify that the flag is being passed | ||
| 14 | + // through correctly. | ||
| 15 | 15 | ||
| 16 | - internalCp.ChildProcess.prototype.spawn = common.mustCall(function(options) { | ||
| 17 | - assert.strictEqual(options.windowsHide, true); | ||
| 18 | - return originalSpawn.apply(this, arguments); | ||
| 19 | - }, 2); | ||
| 20 | - | ||
| 21 | - internalCp.spawnSync = common.mustCall(function(options) { | ||
| 22 | - assert.strictEqual(options.windowsHide, true); | ||
| 23 | - return originalSpawnSync.apply(this, arguments); | ||
| 24 | - }); | ||
| 25 | - | ||
| 26 | - { | ||
| 16 | + test('spawnSync() passes windowsHide correctly', (t) => { | ||
| 17 | + const spy = t.mock.method(internalCp, 'spawnSync'); | ||
| 27 | 18 | const child = cp.spawnSync(cmd, args, options); | |
| 28 | 19 | ||
| 29 | 20 | assert.strictEqual(child.status, 0); | |
| 30 | 21 | assert.strictEqual(child.signal, null); | |
| 31 | 22 | assert.strictEqual(child.stdout.toString().trim(), '42'); | |
| 32 | 23 | assert.strictEqual(child.stderr.toString().trim(), ''); | |
| 33 | - } | ||
| 24 | + assert.strictEqual(spy.mock.calls.length, 1); | ||
| 25 | + assert.strictEqual(spy.mock.calls[0].arguments[0].windowsHide, true); | ||
| 26 | + }); | ||
| 34 | 27 | ||
| 35 | - { | ||
| 28 | + test('spawn() passes windowsHide correctly', (t, done) => { | ||
| 29 | + const spy = t.mock.method(internalCp.ChildProcess.prototype, 'spawn'); | ||
| 36 | 30 | const child = cp.spawn(cmd, args, options); | |
| 37 | 31 | ||
| 38 | 32 | child.on('exit', common.mustCall((code, signal) => { | |
| 39 | 33 | assert.strictEqual(code, 0); | |
| 40 | 34 | assert.strictEqual(signal, null); | |
| 35 | + assert.strictEqual(spy.mock.calls.length, 1); | ||
| 36 | + assert.strictEqual(spy.mock.calls[0].arguments[0].windowsHide, true); | ||
| 37 | + done(); | ||
| 41 | 38 | })); | |
| 42 | - } | ||
| 39 | + }); | ||
| 43 | 40 | ||
| 44 | - { | ||
| 45 | - const callback = common.mustSucceed((stdout, stderr) => { | ||
| 41 | + test('execFile() passes windowsHide correctly', (t, done) => { | ||
| 42 | + const spy = t.mock.method(internalCp.ChildProcess.prototype, 'spawn'); | ||
| 43 | + cp.execFile(cmd, args, options, common.mustSucceed((stdout, stderr) => { | ||
| 46 | 44 | assert.strictEqual(stdout.trim(), '42'); | |
| 47 | 45 | assert.strictEqual(stderr.trim(), ''); | |
| 48 | - }); | ||
| 49 | - | ||
| 50 | - cp.execFile(cmd, args, options, callback); | ||
| 51 | - } | ||
| 46 | + assert.strictEqual(spy.mock.calls.length, 1); | ||
| 47 | + assert.strictEqual(spy.mock.calls[0].arguments[0].windowsHide, true); | ||
| 48 | + done(); | ||
| 49 | + })); | ||
| 50 | + }); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments