mirror of
https://github.com/shelljs/shelljs.git
synced 2026-01-18 16:03:37 +00:00
95 lines
2.6 KiB
JavaScript
95 lines
2.6 KiB
JavaScript
var shell = require('..');
|
|
|
|
var assert = require('assert'),
|
|
fs = require('fs');
|
|
|
|
shell.config.silent = true;
|
|
|
|
shell.rm('-rf', 'tmp');
|
|
shell.mkdir('tmp');
|
|
|
|
var result;
|
|
|
|
var doubleSorted = shell.cat('resources/sort/sorted')
|
|
.trimRight()
|
|
.split('\n')
|
|
.reduce(function(prev, cur) {
|
|
return prev.concat([cur, cur]);
|
|
}, [])
|
|
.join('\n') + '\n';
|
|
|
|
//
|
|
// Invalids
|
|
//
|
|
|
|
result = shell.sort();
|
|
assert.ok(shell.error());
|
|
assert.ok(result.code);
|
|
|
|
assert.equal(fs.existsSync('/asdfasdf'), false); // sanity check
|
|
result = shell.sort('/adsfasdf'); // file does not exist
|
|
assert.ok(shell.error());
|
|
assert.ok(result.code);
|
|
|
|
//
|
|
// Valids
|
|
//
|
|
|
|
// simple
|
|
result = shell.sort('resources/sort/file1');
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', shell.cat('resources/sort/sorted'));
|
|
|
|
// simple
|
|
result = shell.sort('resources/sort/file2');
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', shell.cat('resources/sort/sorted'));
|
|
|
|
// multiple files
|
|
result = shell.sort('resources/sort/file2', 'resources/sort/file1');
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', doubleSorted);
|
|
|
|
// multiple files, array syntax
|
|
result = shell.sort(['resources/sort/file2', 'resources/sort/file1']);
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', doubleSorted);
|
|
|
|
// Globbed file
|
|
result = shell.sort('resources/sort/file?');
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', doubleSorted);
|
|
|
|
// With '-n' option
|
|
result = shell.sort('-n', 'resources/sort/file2');
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', shell.cat('resources/sort/sortedDashN'));
|
|
|
|
// With '-r' option
|
|
result = shell.sort('-r', 'resources/sort/file2');
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', shell.cat('resources/sort/sorted')
|
|
.trimRight()
|
|
.split('\n')
|
|
.reverse()
|
|
.join('\n') + '\n');
|
|
|
|
// With '-rn' option
|
|
result = shell.sort('-rn', 'resources/sort/file2');
|
|
assert.equal(shell.error(), null);
|
|
assert.equal(result.code, 0);
|
|
assert.equal(result + '', shell.cat('resources/sort/sortedDashN')
|
|
.trimRight()
|
|
.split('\n')
|
|
.reverse()
|
|
.join('\n') + '\n');
|
|
|
|
shell.exit(123);
|