mirror of
https://github.com/shelljs/shelljs.git
synced 2026-01-18 16:03:37 +00:00
test: refactor config tests to AVA (#571)
This commit is contained in:
parent
d9e3008c85
commit
106e05fc45
75
ava-test/config.js
Normal file
75
ava-test/config.js
Normal file
@ -0,0 +1,75 @@
|
||||
import test from 'ava';
|
||||
|
||||
import shell from '..';
|
||||
import common from '../src/common';
|
||||
import utils from './utils/utils';
|
||||
|
||||
//
|
||||
// Valids
|
||||
//
|
||||
|
||||
//
|
||||
// config.silent
|
||||
//
|
||||
|
||||
test('config.silent is false by default', t => {
|
||||
t.falsy(shell.config.silent);
|
||||
});
|
||||
|
||||
test('config.silent can be set to true', t => {
|
||||
shell.config.silent = true;
|
||||
t.truthy(shell.config.silent);
|
||||
});
|
||||
|
||||
test('config.silent can be set to false', t => {
|
||||
shell.config.silent = false;
|
||||
t.falsy(shell.config.silent);
|
||||
});
|
||||
|
||||
//
|
||||
// config.fatal
|
||||
//
|
||||
|
||||
test.cb('config.fatal = false', t => {
|
||||
t.falsy(shell.config.fatal);
|
||||
const script = 'require(\'../global.js\'); config.silent=true; config.fatal=false; cp("this_file_doesnt_exist", "."); echo("got here");';
|
||||
utils.runScript(script, (err, stdout) => {
|
||||
t.truthy(stdout.match('got here'));
|
||||
t.end();
|
||||
});
|
||||
});
|
||||
|
||||
test.cb('config.fatal = true', t => {
|
||||
const script = 'require(\'../global.js\'); config.silent=true; config.fatal=true; cp("this_file_doesnt_exist", "."); echo("got here");';
|
||||
utils.runScript(script, (err, stdout) => {
|
||||
t.falsy(stdout.match('got here'));
|
||||
t.end();
|
||||
});
|
||||
});
|
||||
|
||||
//
|
||||
// config.globOptions
|
||||
//
|
||||
|
||||
test('Expands to directories by default', t => {
|
||||
const result = common.expand(['resources/*a*']);
|
||||
t.is(result.length, 5);
|
||||
t.truthy(result.indexOf('resources/a.txt') > -1);
|
||||
t.truthy(result.indexOf('resources/badlink') > -1);
|
||||
t.truthy(result.indexOf('resources/cat') > -1);
|
||||
t.truthy(result.indexOf('resources/head') > -1);
|
||||
t.truthy(result.indexOf('resources/external') > -1);
|
||||
});
|
||||
|
||||
test(
|
||||
'Check to make sure options get passed through (nodir is an example)',
|
||||
t => {
|
||||
shell.config.globOptions = { nodir: true };
|
||||
const result = common.expand(['resources/*a*']);
|
||||
t.is(result.length, 2);
|
||||
t.truthy(result.indexOf('resources/a.txt') > -1);
|
||||
t.truthy(result.indexOf('resources/badlink') > -1);
|
||||
t.truthy(result.indexOf('resources/cat') < 0);
|
||||
t.truthy(result.indexOf('resources/external') < 0);
|
||||
}
|
||||
);
|
||||
@ -1,69 +0,0 @@
|
||||
var shell = require('..');
|
||||
|
||||
var assert = require('assert');
|
||||
var child = require('child_process');
|
||||
var common = require('../src/common');
|
||||
|
||||
//
|
||||
// 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';
|
||||
var script = 'require(\'../../global.js\'); config.silent=true; config.fatal=false; cp("this_file_doesnt_exist", "."); echo("got here");';
|
||||
shell.ShellString(script).to(file);
|
||||
child.exec(JSON.stringify(process.execPath) + ' ' + file, function (err, stdout) {
|
||||
assert.ok(stdout.match('got here'));
|
||||
|
||||
//
|
||||
// config.fatal = true
|
||||
//
|
||||
shell.mkdir('-p', 'tmp');
|
||||
file = 'tmp/tempscript' + Math.random() + '.js';
|
||||
script = 'require(\'../../global.js\'); config.silent=true; config.fatal=true; cp("this_file_doesnt_exist", "."); echo("got here");';
|
||||
shell.ShellString(script).to(file);
|
||||
child.exec(JSON.stringify(process.execPath) + ' ' + file, function (err2, stdout2) {
|
||||
assert.ok(!stdout2.match('got here'));
|
||||
|
||||
shell.exit(123);
|
||||
});
|
||||
});
|
||||
|
||||
//
|
||||
// config.globOptions
|
||||
//
|
||||
|
||||
// Expands to directories by default
|
||||
var result = common.expand(['resources/*a*']);
|
||||
assert.equal(result.length, 5);
|
||||
assert.ok(result.indexOf('resources/a.txt') > -1);
|
||||
assert.ok(result.indexOf('resources/badlink') > -1);
|
||||
assert.ok(result.indexOf('resources/cat') > -1);
|
||||
assert.ok(result.indexOf('resources/head') > -1);
|
||||
assert.ok(result.indexOf('resources/external') > -1);
|
||||
|
||||
// Check to make sure options get passed through (nodir is an example)
|
||||
shell.config.globOptions = { nodir: true };
|
||||
result = common.expand(['resources/*a*']);
|
||||
assert.equal(result.length, 2);
|
||||
assert.ok(result.indexOf('resources/a.txt') > -1);
|
||||
assert.ok(result.indexOf('resources/badlink') > -1);
|
||||
assert.ok(result.indexOf('resources/cat') < 0);
|
||||
assert.ok(result.indexOf('resources/external') < 0);
|
||||
Loading…
x
Reference in New Issue
Block a user