@@ -23,11 +23,11 @@ assert.equal(path.win32.basename('basename.ext'), 'basename.ext');
2323assert . equal ( path . win32 . basename ( 'basename.ext\\' ) , 'basename.ext' ) ;
2424assert . equal ( path . win32 . basename ( 'basename.ext\\\\' ) , 'basename.ext' ) ;
2525assert . 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 ) ;
3131
3232// On unix a backslash is just treated as any other character.
3333assert . equal ( path . posix . basename ( '\\dir\\basename.ext' ) , '\\dir\\basename.ext' ) ;
@@ -36,11 +36,11 @@ assert.equal(path.posix.basename('basename.ext'), 'basename.ext');
3636assert . equal ( path . posix . basename ( 'basename.ext\\' ) , 'basename.ext\\' ) ;
3737assert . equal ( path . posix . basename ( 'basename.ext\\\\' ) , 'basename.ext\\\\' ) ;
3838assert . 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 ) ;
4444
4545// POSIX filenames may include control characters
4646// c.f. http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html
@@ -60,11 +60,11 @@ assert.equal(path.posix.dirname(''), '.');
6060assert . equal ( path . posix . dirname ( '/' ) , '/' ) ;
6161assert . equal ( path . posix . dirname ( '////' ) , '/' ) ;
6262assert . 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 ) ;
6868
6969assert . equal ( path . win32 . dirname ( 'c:\\' ) , 'c:\\' ) ;
7070assert . equal ( path . win32 . dirname ( 'c:\\foo' ) , 'c:\\' ) ;
@@ -100,11 +100,11 @@ assert.equal(path.win32.dirname(''), '.');
100100assert . equal ( path . win32 . dirname ( '/' ) , '/' ) ;
101101assert . equal ( path . win32 . dirname ( '////' ) , '/' ) ;
102102assert . 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 ) ;
108108
109109
110110// path.extname tests
@@ -180,11 +180,11 @@ assert.equal(path.win32.extname('file\\'), '');
180180assert . equal ( path . win32 . extname ( 'file\\\\' ) , '' ) ;
181181assert . equal ( path . win32 . extname ( 'file.\\' ) , '.' ) ;
182182assert . 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 ) ;
188188
189189// On *nix, backslash is a valid name component like any other character.
190190assert . equal ( path . posix . extname ( '.\\' ) , '' ) ;
@@ -195,11 +195,11 @@ assert.equal(path.posix.extname('file\\'), '');
195195assert . equal ( path . posix . extname ( 'file\\\\' ) , '' ) ;
196196assert . equal ( path . posix . extname ( 'file.\\' ) , '.\\' ) ;
197197assert . 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 ) ;
203203
204204
205205// path.join tests
@@ -336,35 +336,34 @@ assert.equal(failures.length, 0, failures.join(''));
336336
337337
338338// Test thrown TypeErrors
339- var typeErrorTests = [ true , false , 7 , null , { } , undefined , [ ] , NaN ] ;
339+ const typeErrorTests = [ true , false , 7 , null , { } , undefined , [ ] , NaN ] ;
340340
341341function fail ( fn ) {
342- var args = Array . prototype . slice . call ( arguments , 1 ) ;
342+ const args = Array . prototype . slice . call ( arguments , 1 ) ;
343343
344344 assert . throws ( function ( ) {
345345 fn . apply ( null , args ) ;
346346 } , TypeError ) ;
347347}
348348
349349typeErrorTests . 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+ } ) ;
368367} ) ;
369368
370369
0 commit comments