|
|
|
'use strict';
|
|
|
|
const common = require('../common');
|
|
|
|
const assert = require('assert');
|
|
|
|
const exec = require('child_process').exec;
|
|
|
|
const os = require('os');
|
|
|
|
const str = 'hello';
|
|
|
|
|
|
|
|
// default encoding
|
|
|
|
exec('echo ' + str, common.mustCall(function(err, stdout, stderr) {
|
|
|
|
assert.strictEqual(typeof stdout, 'string', 'Expected stdout to be a string');
|
|
|
|
assert.strictEqual(typeof stderr, 'string', 'Expected stderr to be a string');
|
|
|
|
assert.strictEqual(str + os.EOL, stdout);
|
|
|
|
}));
|
|
|
|
|
|
|
|
// no encoding (Buffers expected)
|
|
|
|
exec('echo ' + str, {
|
|
|
|
encoding: null
|
|
|
|
}, common.mustCall(function(err, stdout, stderr) {
|
|
|
|
assert.strictEqual(stdout instanceof Buffer, true,
|
|
|
|
'Expected stdout to be a Buffer');
|
|
|
|
assert.strictEqual(stderr instanceof Buffer, true,
|
|
|
|
'Expected stderr to be a Buffer');
|
|
|
|
assert.strictEqual(str + os.EOL, stdout.toString());
|
|
|
|
}));
|