blob: a824edb32cc199db4d3e30728d52bb2cd66978c1 [file] [log] [blame]
var shell = require('..');
var assert = require('assert'),
path = require('path'),
fs = require('fs');
// Node shims for < v0.7
fs.existsSync = fs.existsSync || path.existsSync;
shell.config.silent = true;
shell.rm('-rf', 'tmp');
shell.mkdir('tmp');
//
// Invalids
//
var result = shell.test(); // no expression given
assert.ok(shell.error());
var result = shell.test('asdf'); // bad expression
assert.ok(shell.error());
var result = shell.test('f', 'resources/file1'); // bad expression
assert.ok(shell.error());
var result = shell.test('-f'); // no file
assert.ok(shell.error());
//
// Valids
//
//exists
var result = shell.test('-e', 'resources/file1');
assert.equal(shell.error(), null);
assert.equal(result, true);//true
var result = shell.test('-e', 'resources/404');
assert.equal(shell.error(), null);
assert.equal(result, false);
//directory
var result = shell.test('-d', 'resources');
assert.equal(shell.error(), null);
assert.equal(result, true);//true
var result = shell.test('-f', 'resources');
assert.equal(shell.error(), null);
assert.equal(result, false);
var result = shell.test('-L', 'resources');
assert.equal(shell.error(), null);
assert.equal(result, false);
//file
var result = shell.test('-d', 'resources/file1');
assert.equal(shell.error(), null);
assert.equal(result, false);
var result = shell.test('-f', 'resources/file1');
assert.equal(shell.error(), null);
assert.equal(result, true);//true
var result = shell.test('-L', 'resources/file1');
assert.equal(shell.error(), null);
assert.equal(result, false);
//link
var result = shell.test('-d', 'resources/link');
assert.equal(shell.error(), null);
assert.equal(result, false);
var result = shell.test('-f', 'resources/link');
assert.equal(shell.error(), null);
assert.equal(result, true);//true
var result = shell.test('-L', 'resources/link');
assert.equal(shell.error(), null);
assert.equal(result, true);//true
var result = shell.test('-L', 'resources/badlink');
assert.equal(shell.error(), null);
assert.equal(result, true);//true
var result = shell.test('-L', 'resources/404');
assert.equal(shell.error(), null);
assert.equal(result, false);//false
shell.exit(123);