Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(test): update AVA and refactor tests #760

Merged
merged 1 commit into from
Aug 11, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"rechoir": "^0.6.2"
},
"devDependencies": {
"ava": "^0.16.0",
"ava": "^0.21.0",
"chalk": "^1.1.3",
"codecov": "^1.0.1",
"coffee-script": "^1.10.0",
Expand Down
12 changes: 6 additions & 6 deletions test/cat.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,39 +26,39 @@ test('nonexistent file', t => {
});

test('directory', t => {
const result = shell.cat('resources/cat');
const result = shell.cat('test/resources/cat');
t.truthy(shell.error());
t.is(result.code, 1);
t.is(result.stderr, 'cat: resources/cat: Is a directory');
t.is(result.stderr, 'cat: test/resources/cat: Is a directory');
});

//
// Valids
//

test('simple', t => {
const result = shell.cat('resources/cat/file1');
const result = shell.cat('test/resources/cat/file1');
t.falsy(shell.error());
t.is(result.code, 0);
t.is(result.toString(), 'test1\n');
});

test('multiple files', t => {
const result = shell.cat('resources/cat/file2', 'resources/cat/file1');
const result = shell.cat('test/resources/cat/file2', 'test/resources/cat/file1');
t.falsy(shell.error());
t.is(result.code, 0);
t.is(result.toString(), 'test2\ntest1\n');
});

test('multiple files, array syntax', t => {
const result = shell.cat(['resources/cat/file2', 'resources/cat/file1']);
const result = shell.cat(['test/resources/cat/file2', 'test/resources/cat/file1']);
t.falsy(shell.error());
t.is(result.code, 0);
t.is(result.toString(), 'test2\ntest1\n');
});

test('glob', t => {
const result = shell.cat('resources/file*.txt');
const result = shell.cat('test/resources/file*.txt');
t.falsy(shell.error());
t.is(result.code, 0);
t.truthy(result.search('test1') > -1); // file order might be random
Expand Down
12 changes: 6 additions & 6 deletions test/cd.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ test('nonexistent directory', t => {
});

test('file not dir', t => {
t.truthy(fs.existsSync('resources/file1')); // sanity check
const result = shell.cd('resources/file1'); // file, not dir
t.truthy(fs.existsSync('test/resources/file1')); // sanity check
const result = shell.cd('test/resources/file1'); // file, not dir
t.truthy(shell.error());
t.is(result.code, 1);
t.is(result.stderr, 'cd: not a directory: resources/file1');
t.is(result.stderr, 'cd: not a directory: test/resources/file1');
});

test('no previous dir', t => {
Expand Down Expand Up @@ -76,13 +76,13 @@ test('previous directory (-)', t => {

test('cd + other commands', t => {
t.falsy(fs.existsSync(`${t.context.tmp}/file1`));
let result = shell.cd('resources');
let result = shell.cd('test/resources');
t.falsy(shell.error());
t.is(result.code, 0);
result = shell.cp('file1', `../${t.context.tmp}`);
result = shell.cp('file1', `../../${t.context.tmp}`);
t.falsy(shell.error());
t.is(result.code, 0);
result = shell.cd(`../${t.context.tmp}`);
result = shell.cd(`../../${t.context.tmp}`);
t.falsy(shell.error());
t.is(result.code, 0);
t.truthy(fs.existsSync('file1'));
Expand Down
2 changes: 1 addition & 1 deletion test/chmod.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const BITMASK = parseInt('777', 8);

test.before(() => {
TMP = utils.getTempDir();
shell.cp('-r', 'resources', TMP);
shell.cp('-r', 'test/resources', TMP);
shell.config.silent = true;
});

Expand Down
24 changes: 12 additions & 12 deletions test/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ test('too few args', t => {

test('should be a list', t => {
t.throws(() => {
common.expand('resources');
common.expand('test/resources');
}, TypeError);
});

Expand Down Expand Up @@ -138,36 +138,36 @@ test('convertErrorOutput: changes backslashes to forward slashes', t => {
// common.expand()
//
test('single file, array syntax', t => {
const result = common.expand(['resources/file1.txt']);
const result = common.expand(['test/resources/file1.txt']);
t.falsy(shell.error());
t.deepEqual(result, ['resources/file1.txt']);
t.deepEqual(result, ['test/resources/file1.txt']);
});

test('multiple file, glob syntax, * for file name', t => {
const result = common.expand(['resources/file*.txt']);
const result = common.expand(['test/resources/file*.txt']);
t.falsy(shell.error());
t.deepEqual(result.sort(), ['resources/file1.txt', 'resources/file2.txt'].sort());
t.deepEqual(result.sort(), ['test/resources/file1.txt', 'test/resources/file2.txt'].sort());
});

test('multiple file, glob syntax, * for directory name', t => {
const result = common.expand(['r*/file*.txt']);
const result = common.expand(['test/r*/file*.txt']);
t.falsy(shell.error());
t.deepEqual(result.sort(), ['resources/file1.txt', 'resources/file2.txt'].sort());
t.deepEqual(result.sort(), ['test/resources/file1.txt', 'test/resources/file2.txt'].sort());
});

test('multiple file, glob syntax, ** for directory name', t => {
const result = common.expand(['resources/**/file*.js']);
const result = common.expand(['test/resources/**/file*.js']);
t.falsy(shell.error());
t.deepEqual(
result.sort(),
['resources/file1.js', 'resources/file2.js', 'resources/ls/file1.js', 'resources/ls/file2.js'].sort()
['test/resources/file1.js', 'test/resources/file2.js', 'test/resources/ls/file1.js', 'test/resources/ls/file2.js'].sort()
);
});

test('broken links still expand', t => {
const result = common.expand(['resources/b*dlink']);
const result = common.expand(['test/resources/b*dlink']);
t.falsy(shell.error());
t.deepEqual(result, ['resources/badlink']);
t.deepEqual(result, ['test/resources/badlink']);
});

test('empty array', t => {
Expand Down Expand Up @@ -285,7 +285,7 @@ test('Some basic tests on the ShellString type', t => {
});

test.cb('Commands that fail will still output error messages to stderr', t => {
const script = 'require(\'../global\'); ls(\'noexist\'); cd(\'noexist\');';
const script = 'require(\'./global\'); ls(\'noexist\'); cd(\'noexist\');';
utils.runScript(script, (err, stdout, stderr) => {
t.is(stdout, '');
t.is(
Expand Down
26 changes: 13 additions & 13 deletions test/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ test('config.silent can be set to false', t => {

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");';
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");';
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();
Expand All @@ -52,24 +52,24 @@ test.cb('config.fatal = true', t => {
//

test('Expands to directories by default', t => {
const result = common.expand(['resources/*a*']);
const result = common.expand(['test/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);
t.truthy(result.indexOf('test/resources/a.txt') > -1);
t.truthy(result.indexOf('test/resources/badlink') > -1);
t.truthy(result.indexOf('test/resources/cat') > -1);
t.truthy(result.indexOf('test/resources/head') > -1);
t.truthy(result.indexOf('test/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*']);
const result = common.expand(['test/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);
t.truthy(result.indexOf('test/resources/a.txt') > -1);
t.truthy(result.indexOf('test/resources/badlink') > -1);
t.truthy(result.indexOf('test/resources/cat') < 0);
t.truthy(result.indexOf('test/resources/external') < 0);
}
);