shelljs/test/config.js
Artur Adib e4d9dabe52 introducing config.silent, config.fatal
deprecates silent()
2012-12-01 09:48:23 -05:00

51 lines
1.2 KiB
JavaScript

var shell = require('..');
var assert = require('assert'),
child = require('child_process');
function numLines(str) {
return typeof str === 'string' ? str.match(/\n/g).length : 0;
}
//
// config.silent
//
assert.equal(shell.config.silent, false); // default
shell.config.silent = true;
assert.equal(shell.config.silent, true);
shell.config.silent = false;
assert.equal(shell.config.silent, false);
//
// config.fatal
//
assert.equal(shell.config.fatal, false); // default
//
// config.fatal = false
//
shell.mkdir('-p', 'tmp');
var file = 'tmp/tempscript'+Math.random()+'.js',
script = 'require(\'../../global.js\'); config.silent=true; config.fatal=false; cp("this_file_doesnt_exist", "."); echo("got here");';
script.to(file);
child.exec('node '+file, function(err, stdout, stderr) {
assert.ok(stdout.match('got here'));
//
// config.fatal = true
//
shell.mkdir('-p', 'tmp');
var file = 'tmp/tempscript'+Math.random()+'.js',
script = 'require(\'../../global.js\'); config.silent=true; config.fatal=true; cp("this_file_doesnt_exist", "."); echo("got here");';
script.to(file);
child.exec('node '+file, function(err, stdout, stderr) {
assert.ok(!stdout.match('got here'));
shell.exit(123);
});
});