@@ -22,13 +22,25 @@ assert.equal(path.win32.basename('\\basename.ext'), 'basename.ext');
22
22
assert . equal ( path . win32 . basename ( 'basename.ext' ) , 'basename.ext' ) ;
23
23
assert . equal ( path . win32 . basename ( 'basename.ext\\' ) , 'basename.ext' ) ;
24
24
assert . equal ( path . win32 . basename ( 'basename.ext\\\\' ) , 'basename.ext' ) ;
25
+ assert . equal ( path . win32 . basename ( 'foo' ) , 'foo' ) ;
26
+ assert . equal ( path . win32 . basename ( null ) , 'null' ) ;
27
+ assert . equal ( path . win32 . basename ( true ) , 'true' ) ;
28
+ assert . equal ( path . win32 . basename ( 1 ) , '1' ) ;
29
+ assert . equal ( path . win32 . basename ( ) , 'undefined' ) ;
30
+ assert . equal ( path . win32 . basename ( { } ) , '[object Object]' ) ;
25
31
26
32
// On unix a backslash is just treated as any other character.
27
33
assert . equal ( path . posix . basename ( '\\dir\\basename.ext' ) , '\\dir\\basename.ext' ) ;
28
34
assert . equal ( path . posix . basename ( '\\basename.ext' ) , '\\basename.ext' ) ;
29
35
assert . equal ( path . posix . basename ( 'basename.ext' ) , 'basename.ext' ) ;
30
36
assert . equal ( path . posix . basename ( 'basename.ext\\' ) , 'basename.ext\\' ) ;
31
37
assert . equal ( path . posix . basename ( 'basename.ext\\\\' ) , 'basename.ext\\\\' ) ;
38
+ assert . equal ( path . posix . basename ( 'foo' ) , 'foo' ) ;
39
+ assert . equal ( path . posix . basename ( null ) , 'null' ) ;
40
+ assert . equal ( path . posix . basename ( true ) , 'true' ) ;
41
+ assert . equal ( path . posix . basename ( 1 ) , '1' ) ;
42
+ assert . equal ( path . posix . basename ( ) , 'undefined' ) ;
43
+ assert . equal ( path . posix . basename ( { } ) , '[object Object]' ) ;
32
44
33
45
// POSIX filenames may include control characters
34
46
// c.f. http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html
@@ -47,6 +59,12 @@ assert.equal(path.posix.dirname('/a'), '/');
47
59
assert . equal ( path . posix . dirname ( '' ) , '.' ) ;
48
60
assert . equal ( path . posix . dirname ( '/' ) , '/' ) ;
49
61
assert . equal ( path . posix . dirname ( '////' ) , '/' ) ;
62
+ assert . equal ( path . posix . dirname ( 'foo' ) , '.' ) ;
63
+ assert . equal ( path . posix . dirname ( null ) , '.' ) ;
64
+ assert . equal ( path . posix . dirname ( true ) , '.' ) ;
65
+ assert . equal ( path . posix . dirname ( 1 ) , '.' ) ;
66
+ assert . equal ( path . posix . dirname ( ) , '.' ) ;
67
+ assert . equal ( path . posix . dirname ( { } ) , '.' ) ;
50
68
51
69
assert . equal ( path . win32 . dirname ( 'c:\\' ) , 'c:\\' ) ;
52
70
assert . equal ( path . win32 . dirname ( 'c:\\foo' ) , 'c:\\' ) ;
@@ -81,6 +99,12 @@ assert.equal(path.win32.dirname('/a'), '/');
81
99
assert . equal ( path . win32 . dirname ( '' ) , '.' ) ;
82
100
assert . equal ( path . win32 . dirname ( '/' ) , '/' ) ;
83
101
assert . equal ( path . win32 . dirname ( '////' ) , '/' ) ;
102
+ assert . equal ( path . win32 . dirname ( 'foo' ) , '.' ) ;
103
+ assert . equal ( path . win32 . dirname ( null ) , '.' ) ;
104
+ assert . equal ( path . win32 . dirname ( true ) , '.' ) ;
105
+ assert . equal ( path . win32 . dirname ( 1 ) , '.' ) ;
106
+ assert . equal ( path . win32 . dirname ( ) , '.' ) ;
107
+ assert . equal ( path . win32 . dirname ( { } ) , '.' ) ;
84
108
85
109
86
110
// path.extname tests
@@ -156,6 +180,11 @@ assert.equal(path.win32.extname('file\\'), '');
156
180
assert . equal ( path . win32 . extname ( 'file\\\\' ) , '' ) ;
157
181
assert . equal ( path . win32 . extname ( 'file.\\' ) , '.' ) ;
158
182
assert . equal ( path . win32 . extname ( 'file.\\\\' ) , '.' ) ;
183
+ assert . equal ( path . win32 . extname ( null ) , '' ) ;
184
+ assert . equal ( path . win32 . extname ( true ) , '' ) ;
185
+ assert . equal ( path . win32 . extname ( 1 ) , '' ) ;
186
+ assert . equal ( path . win32 . extname ( ) , '' ) ;
187
+ assert . equal ( path . win32 . extname ( { } ) , '' ) ;
159
188
160
189
// On *nix, backslash is a valid name component like any other character.
161
190
assert . equal ( path . posix . extname ( '.\\' ) , '' ) ;
@@ -166,6 +195,11 @@ assert.equal(path.posix.extname('file\\'), '');
166
195
assert . equal ( path . posix . extname ( 'file\\\\' ) , '' ) ;
167
196
assert . equal ( path . posix . extname ( 'file.\\' ) , '.\\' ) ;
168
197
assert . equal ( path . posix . extname ( 'file.\\\\' ) , '.\\\\' ) ;
198
+ assert . equal ( path . posix . extname ( null ) , '' ) ;
199
+ assert . equal ( path . posix . extname ( true ) , '' ) ;
200
+ assert . equal ( path . posix . extname ( 1 ) , '' ) ;
201
+ assert . equal ( path . posix . extname ( ) , '' ) ;
202
+ assert . equal ( path . posix . extname ( { } ) , '' ) ;
169
203
170
204
171
205
// path.join tests
@@ -486,8 +520,14 @@ assert.equal(path.posix.delimiter, ':');
486
520
487
521
488
522
// path._makeLong tests
523
+ const emptyObj = { } ;
489
524
assert . equal ( path . posix . _makeLong ( '/foo/bar' ) , '/foo/bar' ) ;
490
525
assert . equal ( path . posix . _makeLong ( 'foo/bar' ) , 'foo/bar' ) ;
526
+ assert . equal ( path . posix . _makeLong ( null ) , null ) ;
527
+ assert . equal ( path . posix . _makeLong ( true ) , true ) ;
528
+ assert . equal ( path . posix . _makeLong ( 1 ) , 1 ) ;
529
+ assert . equal ( path . posix . _makeLong ( ) , undefined ) ;
530
+ assert . equal ( path . posix . _makeLong ( emptyObj ) , emptyObj ) ;
491
531
if ( common . isWindows ) {
492
532
// These tests cause resolve() to insert the cwd, so we cannot test them from
493
533
// non-Windows platforms (easily)
@@ -505,6 +545,11 @@ assert.equal(path.win32._makeLong('C:/foo'), '\\\\?\\C:\\foo');
505
545
assert . equal ( path . win32 . _makeLong ( '\\\\foo\\bar' ) , '\\\\?\\UNC\\foo\\bar\\' ) ;
506
546
assert . equal ( path . win32 . _makeLong ( '//foo//bar' ) , '\\\\?\\UNC\\foo\\bar\\' ) ;
507
547
assert . equal ( path . win32 . _makeLong ( '\\\\?\\foo' ) , '\\\\?\\foo' ) ;
548
+ assert . equal ( path . win32 . _makeLong ( null ) , null ) ;
549
+ assert . equal ( path . win32 . _makeLong ( true ) , true ) ;
550
+ assert . equal ( path . win32 . _makeLong ( 1 ) , 1 ) ;
551
+ assert . equal ( path . win32 . _makeLong ( ) , undefined ) ;
552
+ assert . equal ( path . win32 . _makeLong ( emptyObj ) , emptyObj ) ;
508
553
509
554
510
555
if ( common . isWindows )
0 commit comments