UNPKG

js-web-tools

Version:
61 lines (57 loc) 2.7 kB
"use strict"; 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); }); });