%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); // This test is intended for Windows only if (!common.isWindows) common.skip('this test is Windows-specific.'); const assert = require('assert'); if (!process.argv[2]) { // parent const net = require('net'); const spawn = require('child_process').spawn; const path = require('path'); const pipeNamePrefix = `${path.basename(__filename)}.${process.pid}`; const stdinPipeName = `\\\\.\\pipe\\${pipeNamePrefix}.stdin`; const stdoutPipeName = `\\\\.\\pipe\\${pipeNamePrefix}.stdout`; const stdinPipeServer = net.createServer(function(c) { c.on('end', common.mustCall(function() { })); c.end('hello'); }); stdinPipeServer.listen(stdinPipeName); const output = []; const stdoutPipeServer = net.createServer(function(c) { c.on('data', function(x) { output.push(x); }); c.on('end', common.mustCall(function() { assert.strictEqual(output.join(''), 'hello'); })); }); stdoutPipeServer.listen(stdoutPipeName); const args = [`"${__filename}"`, 'child', '<', stdinPipeName, '>', stdoutPipeName]; const child = spawn(`"${process.execPath}"`, args, { shell: true }); child.on('exit', common.mustCall(function(exitCode) { stdinPipeServer.close(); stdoutPipeServer.close(); assert.strictEqual(exitCode, 0); })); } else { // child process.stdin.pipe(process.stdout); }