test: refactor config tests to AVA (#571)

This commit is contained in:
Nate Fischer 2016-11-23 22:38:46 -08:00 committed by GitHub
parent d9e3008c85
commit 106e05fc45
2 changed files with 75 additions and 69 deletions

75
ava-test/config.js Normal file
View 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);
}
);

View File

@ -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);