2015-05-19 13:00:06 +02:00
|
|
|
'use strict';
|
2016-12-01 11:31:30 -06:00
|
|
|
const common = require('../common');
|
2017-10-06 10:37:01 -07:00
|
|
|
const fixtures = require('../common/fixtures');
|
2017-12-24 22:38:11 -08:00
|
|
|
const tmpdir = require('../common/tmpdir');
|
2016-12-01 11:31:30 -06:00
|
|
|
const assert = require('assert');
|
|
|
|
const childProcess = require('child_process');
|
|
|
|
const fs = require('fs');
|
|
|
|
|
2017-10-06 10:37:01 -07:00
|
|
|
const stdoutScript = fixtures.path('echo-close-check.js');
|
2023-08-15 22:45:44 +09:00
|
|
|
const tmpFile = tmpdir.resolve('stdin.txt');
|
2023-11-28 18:18:02 +01:00
|
|
|
const string = fixtures.utf8TestText;
|
2016-12-01 11:31:30 -06:00
|
|
|
|
2017-12-24 22:38:11 -08:00
|
|
|
tmpdir.refresh();
|
2016-04-09 18:47:50 +02:00
|
|
|
|
2010-06-10 14:59:06 -07:00
|
|
|
fs.writeFileSync(tmpFile, string);
|
2010-04-28 01:17:28 +02:00
|
|
|
|
2024-09-29 22:44:52 +02:00
|
|
|
childProcess.exec(...common.escapePOSIXShell`"${process.argv0}" "${stdoutScript}" < "${tmpFile}"`, common.mustCall(function(err, stdout, stderr) {
|
2010-04-28 01:17:28 +02:00
|
|
|
fs.unlinkSync(tmpFile);
|
|
|
|
|
2016-12-18 19:56:18 -08:00
|
|
|
assert.ifError(err);
|
2017-04-28 04:06:42 +03:00
|
|
|
assert.strictEqual(stdout, `hello world\r\n${string}`);
|
2018-10-12 10:31:06 -07:00
|
|
|
assert.strictEqual(stderr, '');
|
2016-12-01 11:31:30 -06:00
|
|
|
}));
|