shelljs/test/echo.js
2016-03-10 17:06:32 -08:00

42 lines
1.1 KiB
JavaScript

var shell = require('..');
var assert = require('assert'),
child = require('child_process');
shell.config.silent = true;
shell.rm('-rf', 'tmp');
shell.mkdir('tmp');
//
// Valids
//
// From here on we use child.exec() to intercept the stdout
// simple test with defaults
shell.mkdir('-p', 'tmp');
var file = 'tmp/tempscript'+Math.random()+'.js',
script = 'require(\'../../global.js\'); echo("-asdf", "111");'; // test '-' bug (see issue #20)
shell.ShellString(script).to(file);
child.exec(JSON.stringify(process.execPath)+' '+file, function(err, stdout) {
assert.ok(stdout === '-asdf 111\n' || stdout === '-asdf 111\nundefined\n'); // 'undefined' for v0.4
// simple test with silent(true)
shell.mkdir('-p', 'tmp');
var file = 'tmp/tempscript'+Math.random()+'.js',
script = 'require(\'../../global.js\'); config.silent=true; echo(555);';
shell.ShellString(script).to(file);
child.exec(JSON.stringify(process.execPath)+' '+file, function(err, stdout) {
assert.ok(stdout === '555\n' || stdout === '555\nundefined\n'); // 'undefined' for v0.4
theEnd();
});
});
function theEnd() {
shell.exit(123);
}