@@ -23,11 +23,11 @@ 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
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]' ) ;
26
+ assert . throws ( path . win32 . basename . bind ( null , null ) , TypeError ) ;
27
+ assert . throws ( path . win32 . basename . bind ( null , true ) , TypeError ) ;
28
+ assert . throws ( path . win32 . basename . bind ( null , 1 ) , TypeError ) ;
29
+ assert . throws ( path . win32 . basename . bind ( null ) , TypeError ) ;
30
+ assert . throws ( path . win32 . basename . bind ( null , { } ) , TypeError ) ;
31
31
32
32
// On unix a backslash is just treated as any other character.
33
33
assert . equal ( path . posix . basename ( '\\dir\\basename.ext' ) , '\\dir\\basename.ext' ) ;
@@ -36,11 +36,11 @@ assert.equal(path.posix.basename('basename.ext'), 'basename.ext');
36
36
assert . equal ( path . posix . basename ( 'basename.ext\\' ) , 'basename.ext\\' ) ;
37
37
assert . equal ( path . posix . basename ( 'basename.ext\\\\' ) , 'basename.ext\\\\' ) ;
38
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]' ) ;
39
+ assert . throws ( path . posix . basename . bind ( null , null ) , TypeError ) ;
40
+ assert . throws ( path . posix . basename . bind ( null , true ) , TypeError ) ;
41
+ assert . throws ( path . posix . basename . bind ( null , 1 ) , TypeError ) ;
42
+ assert . throws ( path . posix . basename . bind ( null ) , TypeError ) ;
43
+ assert . throws ( path . posix . basename . bind ( null , { } ) , TypeError ) ;
44
44
45
45
// POSIX filenames may include control characters
46
46
// c.f. http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html
@@ -60,11 +60,11 @@ assert.equal(path.posix.dirname(''), '.');
60
60
assert . equal ( path . posix . dirname ( '/' ) , '/' ) ;
61
61
assert . equal ( path . posix . dirname ( '////' ) , '/' ) ;
62
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 ( { } ) , '.' ) ;
63
+ assert . throws ( path . posix . dirname . bind ( null , null ) , TypeError ) ;
64
+ assert . throws ( path . posix . dirname . bind ( null , true ) , TypeError ) ;
65
+ assert . throws ( path . posix . dirname . bind ( null , 1 ) , TypeError ) ;
66
+ assert . throws ( path . posix . dirname . bind ( null ) , TypeError ) ;
67
+ assert . throws ( path . posix . dirname . bind ( null , { } ) , TypeError ) ;
68
68
69
69
assert . equal ( path . win32 . dirname ( 'c:\\' ) , 'c:\\' ) ;
70
70
assert . equal ( path . win32 . dirname ( 'c:\\foo' ) , 'c:\\' ) ;
@@ -100,11 +100,11 @@ assert.equal(path.win32.dirname(''), '.');
100
100
assert . equal ( path . win32 . dirname ( '/' ) , '/' ) ;
101
101
assert . equal ( path . win32 . dirname ( '////' ) , '/' ) ;
102
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 ( { } ) , '.' ) ;
103
+ assert . throws ( path . win32 . dirname . bind ( null , null ) , TypeError ) ;
104
+ assert . throws ( path . win32 . dirname . bind ( null , true ) , TypeError ) ;
105
+ assert . throws ( path . win32 . dirname . bind ( null , 1 ) , TypeError ) ;
106
+ assert . throws ( path . win32 . dirname . bind ( null ) , TypeError ) ;
107
+ assert . throws ( path . win32 . dirname . bind ( null , { } ) , TypeError ) ;
108
108
109
109
110
110
// path.extname tests
@@ -180,11 +180,11 @@ assert.equal(path.win32.extname('file\\'), '');
180
180
assert . equal ( path . win32 . extname ( 'file\\\\' ) , '' ) ;
181
181
assert . equal ( path . win32 . extname ( 'file.\\' ) , '.' ) ;
182
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 ( { } ) , '' ) ;
183
+ assert . throws ( path . win32 . extname . bind ( null , null ) , TypeError ) ;
184
+ assert . throws ( path . win32 . extname . bind ( null , true ) , TypeError ) ;
185
+ assert . throws ( path . win32 . extname . bind ( null , 1 ) , TypeError ) ;
186
+ assert . throws ( path . win32 . extname . bind ( null ) , TypeError ) ;
187
+ assert . throws ( path . win32 . extname . bind ( null , { } ) , TypeError ) ;
188
188
189
189
// On *nix, backslash is a valid name component like any other character.
190
190
assert . equal ( path . posix . extname ( '.\\' ) , '' ) ;
@@ -195,11 +195,11 @@ assert.equal(path.posix.extname('file\\'), '');
195
195
assert . equal ( path . posix . extname ( 'file\\\\' ) , '' ) ;
196
196
assert . equal ( path . posix . extname ( 'file.\\' ) , '.\\' ) ;
197
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 ( { } ) , '' ) ;
198
+ assert . throws ( path . posix . extname . bind ( null , null ) , TypeError ) ;
199
+ assert . throws ( path . posix . extname . bind ( null , true ) , TypeError ) ;
200
+ assert . throws ( path . posix . extname . bind ( null , 1 ) , TypeError ) ;
201
+ assert . throws ( path . posix . extname . bind ( null ) , TypeError ) ;
202
+ assert . throws ( path . posix . extname . bind ( null , { } ) , TypeError ) ;
203
203
204
204
205
205
// path.join tests
@@ -336,35 +336,34 @@ assert.equal(failures.length, 0, failures.join(''));
336
336
337
337
338
338
// Test thrown TypeErrors
339
- var typeErrorTests = [ true , false , 7 , null , { } , undefined , [ ] , NaN ] ;
339
+ const typeErrorTests = [ true , false , 7 , null , { } , undefined , [ ] , NaN ] ;
340
340
341
341
function fail ( fn ) {
342
- var args = Array . prototype . slice . call ( arguments , 1 ) ;
342
+ const args = Array . prototype . slice . call ( arguments , 1 ) ;
343
343
344
344
assert . throws ( function ( ) {
345
345
fn . apply ( null , args ) ;
346
346
} , TypeError ) ;
347
347
}
348
348
349
349
typeErrorTests . forEach ( function ( test ) {
350
- fail ( path . join , test ) ;
351
- fail ( path . resolve , test ) ;
352
- fail ( path . normalize , test ) ;
353
- fail ( path . isAbsolute , test ) ;
354
- fail ( path . relative , test , 'foo' ) ;
355
- fail ( path . relative , 'foo' , test ) ;
356
- fail ( path . parse , test ) ;
357
-
358
- // These methods should throw a TypeError, but do not for backwards
359
- // compatibility. Uncommenting these lines in the future should be a goal.
360
- // fail(path.dirname, test);
361
- // fail(path.basename, test);
362
- // fail(path.extname, test);
363
-
364
- // undefined is a valid value as the second argument to basename
365
- if ( test !== undefined ) {
366
- fail ( path . basename , 'foo' , test ) ;
367
- }
350
+ [ path . posix , path . win32 ] . forEach ( function ( namespace ) {
351
+ fail ( namespace . join , test ) ;
352
+ fail ( namespace . resolve , test ) ;
353
+ fail ( namespace . normalize , test ) ;
354
+ fail ( namespace . isAbsolute , test ) ;
355
+ fail ( namespace . relative , test , 'foo' ) ;
356
+ fail ( namespace . relative , 'foo' , test ) ;
357
+ fail ( namespace . parse , test ) ;
358
+ fail ( namespace . dirname , test ) ;
359
+ fail ( namespace . basename , test ) ;
360
+ fail ( namespace . extname , test ) ;
361
+
362
+ // undefined is a valid value as the second argument to basename
363
+ if ( test !== undefined ) {
364
+ fail ( namespace . basename , 'foo' , test ) ;
365
+ }
366
+ } ) ;
368
367
} ) ;
369
368
370
369
0 commit comments