From 106e05fc4549be3f87a0f5bf4dee1963ed573c4b Mon Sep 17 00:00:00 2001 From: Nate Fischer Date: Wed, 23 Nov 2016 22:38:46 -0800 Subject: [PATCH] test: refactor config tests to AVA (#571) --- ava-test/config.js | 75 ++++++++++++++++++++++++++++++++++++++++++++++ test/config.js | 69 ------------------------------------------ 2 files changed, 75 insertions(+), 69 deletions(-) create mode 100644 ava-test/config.js delete mode 100644 test/config.js diff --git a/ava-test/config.js b/ava-test/config.js new file mode 100644 index 0000000..83c45ff --- /dev/null +++ b/ava-test/config.js @@ -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); + } +); diff --git a/test/config.js b/test/config.js deleted file mode 100644 index 8392e76..0000000 --- a/test/config.js +++ /dev/null @@ -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);