mirror of
https://github.com/shelljs/shelljs.git
synced 2026-01-18 16:03:37 +00:00
Add new set() command as a wrapper for `config` variables. This takes the `-e`, `-v`, `+e`, and `+v` flags.
53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
var shell = require('..');
|
|
|
|
var assert = require('assert');
|
|
|
|
var oldConfigSilent = shell.config.silent;
|
|
shell.config.silent = true;
|
|
|
|
shell.rm('-rf', 'tmp');
|
|
shell.mkdir('tmp');
|
|
|
|
//
|
|
// Valids
|
|
//
|
|
|
|
// initial values
|
|
assert.strictEqual(oldConfigSilent, false);
|
|
assert.strictEqual(shell.config.verbose, false);
|
|
assert.strictEqual(shell.config.fatal, false);
|
|
|
|
// default behavior
|
|
var result = shell.exec('node -e \"require(\'../global\'); ls(\'file_doesnt_exist\'); echo(1234);\"');
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result.stdout, '1234\n');
|
|
assert.equal(result.stderr, 'ls: no such file or directory: file_doesnt_exist\n');
|
|
|
|
// set -e
|
|
var result = shell.exec('node -e \"require(\'../global\'); set(\'-e\'); ls(\'file_doesnt_exist\'); echo(1234);\"');
|
|
assert.equal(result.code, 1);
|
|
assert.equal(result.stdout, '');
|
|
assert.equal(result.stderr, 'ls: no such file or directory: file_doesnt_exist\n');
|
|
|
|
// set -v
|
|
var result = shell.exec('node -e \"require(\'../global\'); set(\'-v\'); ls(\'file_doesnt_exist\'); echo(1234);\"');
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result.stdout, 'ls file_doesnt_exist\n1234\n');
|
|
assert.equal(result.stderr, 'ls: no such file or directory: file_doesnt_exist\n');
|
|
|
|
// set -ev
|
|
var result = shell.exec('node -e \"require(\'../global\'); set(\'-ev\'); ls(\'file_doesnt_exist\'); echo(1234);\"');
|
|
assert.equal(result.code, 1);
|
|
assert.equal(result.stdout, 'ls file_doesnt_exist\n');
|
|
assert.equal(result.stderr, 'ls: no such file or directory: file_doesnt_exist\n');
|
|
|
|
// set -e, set +e
|
|
var result = shell.exec('node -e \"require(\'../global\'); set(\'-e\'); set(\'+e\'); ls(\'file_doesnt_exist\'); echo(1234);\"');
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result.stdout, '1234\n');
|
|
assert.equal(result.stderr, 'ls: no such file or directory: file_doesnt_exist\n');
|
|
|
|
shell.exit(123);
|
|
|
|
|