@@ -10,6 +10,10 @@ describe('glob-parent', function () {
10
10
expect ( gp ( '.*' ) ) . toEqual ( '.' ) ;
11
11
expect ( gp ( '/.*' ) ) . toEqual ( '/' ) ;
12
12
expect ( gp ( '/.*/' ) ) . toEqual ( '/' ) ;
13
+ expect ( gp ( '//' ) ) . toEqual ( '/' ) ;
14
+ expect ( gp ( '//*' ) ) . toEqual ( '/' ) ;
15
+ expect ( gp ( './/' ) ) . toEqual ( './' ) ;
16
+ expect ( gp ( './/*' ) ) . toEqual ( './' ) ;
13
17
expect ( gp ( 'a/.*/b' ) ) . toEqual ( 'a' ) ;
14
18
expect ( gp ( 'a*/.*/b' ) ) . toEqual ( '.' ) ;
15
19
expect ( gp ( '*/a/b/c' ) ) . toEqual ( '.' ) ;
@@ -258,4 +262,71 @@ if (isWin32) {
258
262
done ( ) ;
259
263
} ) ;
260
264
} ) ;
265
+
266
+ describe ( 'windows path with drive or UNC volume' , function ( ) {
267
+ it ( 'should return parent dirname from absolute path with drive letter' , function ( done ) {
268
+ expect ( gp ( 'C:/' ) ) . toEqual ( 'C:/' ) ;
269
+ expect ( gp ( 'C:/.' ) ) . toEqual ( 'C:/' ) ;
270
+ expect ( gp ( 'C:/*' ) ) . toEqual ( 'C:/' ) ;
271
+ expect ( gp ( 'C:/./*' ) ) . toEqual ( 'C:/.' ) ;
272
+ expect ( gp ( 'C://' ) ) . toEqual ( 'C:/' ) ;
273
+ expect ( gp ( 'C://*' ) ) . toEqual ( 'C:/' ) ;
274
+ expect ( gp ( 'C:/path/*.js' ) ) . toEqual ( 'C:/path' ) ;
275
+
276
+ expect ( gp ( 'C:\\' ) ) . toEqual ( 'C:/' ) ;
277
+ expect ( gp ( 'C:\\.' ) ) . toEqual ( 'C:/' ) ;
278
+ expect ( gp ( 'C:\\*' ) ) . toEqual ( 'C:/' ) ;
279
+ expect ( gp ( 'C:\\.\\*' ) ) . toEqual ( 'C:/.' ) ;
280
+ expect ( gp ( 'C:\\\\' ) ) . toEqual ( 'C:/' ) ;
281
+ expect ( gp ( 'C:\\\\*' ) ) . toEqual ( 'C:/' ) ;
282
+ expect ( gp ( 'C:\\path\\*.js' ) ) . toEqual ( 'C:/path' ) ;
283
+
284
+ done ( ) ;
285
+ } ) ;
286
+
287
+ it ( 'should return parent dirname from relative path with drive letter' , function ( done ) {
288
+ expect ( gp ( 'C:' ) ) . toEqual ( 'C:.' ) ;
289
+ expect ( gp ( 'C:.' ) ) . toEqual ( 'C:.' ) ;
290
+ expect ( gp ( 'C:*' ) ) . toEqual ( 'C:.' ) ;
291
+ expect ( gp ( 'C:./*' ) ) . toEqual ( 'C:.' ) ;
292
+ expect ( gp ( 'C:.//' ) ) . toEqual ( 'C:./' ) ;
293
+ expect ( gp ( 'C:.//*' ) ) . toEqual ( 'C:./' ) ;
294
+ expect ( gp ( 'C:path/*.js' ) ) . toEqual ( 'C:path' ) ;
295
+
296
+ expect ( gp ( 'C:.\\*' ) ) . toEqual ( 'C:.' ) ;
297
+ expect ( gp ( 'C:.\\\\' ) ) . toEqual ( 'C:./' ) ;
298
+ expect ( gp ( 'C:.\\\\*' ) ) . toEqual ( 'C:./' ) ;
299
+ expect ( gp ( 'C:path\\*.js' ) ) . toEqual ( 'C:path' ) ;
300
+
301
+ done ( ) ;
302
+ } ) ;
303
+
304
+ it ( 'should return parent dirname from UNC path' , function ( done ) {
305
+ expect ( gp ( '\\\\System07\\C$/' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
306
+ expect ( gp ( '\\\\System07\\C$/.' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
307
+ expect ( gp ( '\\\\System07\\C$/*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
308
+ expect ( gp ( '\\\\System07\\C$/./*' ) ) . toEqual ( '\\\\System07\\C$/.' ) ;
309
+ expect ( gp ( '\\\\System07\\C$//' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
310
+ expect ( gp ( '\\\\System07\\C$//*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
311
+ expect ( gp ( '\\\\System07\\C$/path/*.js' ) ) . toEqual ( '\\\\System07\\C$/path' ) ;
312
+
313
+ expect ( gp ( '\\\\System07\\C$/' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
314
+ expect ( gp ( '\\\\System07\\C$/.' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
315
+ expect ( gp ( '\\\\System07\\C$/*' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
316
+ expect ( gp ( '\\\\System07\\C$/./*' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/.' ) ;
317
+ expect ( gp ( '\\\\System07\\C$//' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
318
+ expect ( gp ( '\\\\System07\\C$//*' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
319
+ expect ( gp ( '\\\\System07\\C$/path/*.js' ) ) . toEqual ( '\\\\System07\\C$/path' ) ;
320
+
321
+ expect ( gp ( '\\\\System07\\C$\\' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
322
+ expect ( gp ( '\\\\System07\\C$\\.' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
323
+ expect ( gp ( '\\\\System07\\C$\\*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
324
+ expect ( gp ( '\\\\System07\\C$\\.\\*' ) ) . toEqual ( '\\\\System07\\C$/.' ) ;
325
+ expect ( gp ( '\\\\System07\\C$\\\\' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
326
+ expect ( gp ( '\\\\System07\\C$\\\\*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
327
+ expect ( gp ( '\\\\System07\\C$\\path\\*.js' ) ) . toEqual ( '\\\\System07\\C$/path' ) ;
328
+
329
+ done ( ) ;
330
+ } ) ;
331
+ } ) ;
261
332
}
0 commit comments