js-web-tools
Version:
Tools for Javascript develpers
61 lines (57 loc) • 2.7 kB
JavaScript
;
var _isValidPath = require("../isValidPath");
describe('isInvalidPath', function () {
it('should be invalid if the path is not a string', function () {
expect((0, _isValidPath.isInvalidPath)()).toEqual(true);
expect((0, _isValidPath.isInvalidPath)({})).toEqual(true);
expect((0, _isValidPath.isInvalidPath)(null)).toEqual(true);
expect((0, _isValidPath.isInvalidPath)([])).toEqual(true);
});
it('should be invalid if the path has invalid characters', function () {
expect((0, _isValidPath.isInvalidPath)('<abc')).toEqual(true);
expect((0, _isValidPath.isInvalidPath)('>abc')).toEqual(true);
expect((0, _isValidPath.isInvalidPath)(':abc')).toEqual(true);
expect((0, _isValidPath.isInvalidPath)('"abc')).toEqual(true);
expect((0, _isValidPath.isInvalidPath)('|abc')).toEqual(true);
expect((0, _isValidPath.isInvalidPath)('?abc')).toEqual(true);
expect((0, _isValidPath.isInvalidPath)('*abc')).toEqual(true);
});
it('should be invalid if the path has slashes and options.file is true', function () {
expect((0, _isValidPath.isInvalidPath)('foo/abc', {
file: true
})).toEqual(true);
expect((0, _isValidPath.isInvalidPath)('foo\\abc', {
file: true
})).toEqual(true);
});
it('should not be invalid if path has valid characters', function () {
expect(!(0, _isValidPath.isInvalidPath)('.')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('abc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('a\'bc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('a\\bc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('a/bc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('!foo')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('^abc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('[abc]')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('(a)')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('+abc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('@abc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('{a}bc')).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('{a..b..c}')).toEqual(true);
});
it('coverage', function () {
var longStr = '';
for (var k = 0; k < 32767; k += 1) {
longStr += 'a';
}
expect((0, _isValidPath.isInvalidPath)(longStr, {
extended: true
})).toEqual(true);
expect(!(0, _isValidPath.isInvalidPath)('/abc.')).toEqual(true);
});
});
describe('isValidPath', function () {
it('should be valid', function () {
expect((0, _isValidPath.isValidPath)('/home/user/dir/file.txt')).toEqual(true);
});
});