-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtest.js
46 lines (40 loc) · 1.28 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'use strict';
require('mocha');
const assert = require('assert');
const isInvalid = require('./');
describe('isInvalid', function() {
it('should be invalid if the path is not a string', function() {
assert(isInvalid());
assert(isInvalid({}));
assert(isInvalid(null));
assert(isInvalid([]));
});
it('should be invalid if the path has invalid characters', function() {
assert(isInvalid('<abc'));
assert(isInvalid('>abc'));
assert(isInvalid(':abc'));
assert(isInvalid('"abc'));
assert(isInvalid('|abc'));
assert(isInvalid('?abc'));
assert(isInvalid('*abc'));
});
it('should be invalid if the path has slashes and options.file is true', function() {
assert(isInvalid('foo/abc', { file: true }));
assert(isInvalid('foo\\abc', { file: true }));
});
it('should not be invalid if path has valid characters', function() {
assert(!isInvalid('.'));
assert(!isInvalid('abc'));
assert(!isInvalid('a\'bc'));
assert(!isInvalid('a\\bc'));
assert(!isInvalid('a/bc'));
assert(!isInvalid('!foo'));
assert(!isInvalid('^abc'));
assert(!isInvalid('[abc]'));
assert(!isInvalid('(a)'));
assert(!isInvalid('+abc'));
assert(!isInvalid('@abc'));
assert(!isInvalid('{a}bc'));
assert(!isInvalid('{a..b..c}'));
});
});