@@ -252,6 +252,41 @@ describe('glob2base test patterns', function () {
252
252
gp ( '/(' . repeat ( 500000 ) + ')' ) ;
253
253
done ( ) ;
254
254
} ) ;
255
+
256
+ it ( 'should remove tail \'.\' and \'./\'' , function ( done ) {
257
+ expect ( gp ( 'foo/./*' ) ) . toEqual ( 'foo/' ) ;
258
+ expect ( gp ( 'foo/./././*' ) ) . toEqual ( 'foo/' ) ;
259
+ expect ( gp ( './././*' ) ) . toEqual ( './' ) ;
260
+ expect ( gp ( '/./././*' ) ) . toEqual ( '/' ) ;
261
+
262
+ if ( isWin32 ) {
263
+ expect ( gp ( 'C:/foo/./*' ) ) . toEqual ( 'C:/foo/' ) ;
264
+ expect ( gp ( 'C:/foo/./././*' ) ) . toEqual ( 'C:/foo/' ) ;
265
+ expect ( gp ( 'C:/./././*' ) ) . toEqual ( 'C:/' ) ;
266
+
267
+ expect ( gp ( 'C:\\foo\\.\\*' ) ) . toEqual ( 'C:/foo/' ) ;
268
+ expect ( gp ( 'C:\\foo\\.\\.\\.\\*' ) ) . toEqual ( 'C:/foo/' ) ;
269
+ expect ( gp ( 'C:\\.\\.\\.\\*' ) ) . toEqual ( 'C:/' ) ;
270
+
271
+ expect ( gp ( 'C:foo/./*' ) ) . toEqual ( 'C:foo/' ) ;
272
+ expect ( gp ( 'C:foo/./././*' ) ) . toEqual ( 'C:foo/' ) ;
273
+ expect ( gp ( 'C:./././*' ) ) . toEqual ( 'C:' ) ;
274
+
275
+ expect ( gp ( 'C:foo\\.\\*' ) ) . toEqual ( 'C:foo/' ) ;
276
+ expect ( gp ( 'C:foo\\.\\.\\.\\*' ) ) . toEqual ( 'C:foo/' ) ;
277
+ expect ( gp ( 'C:.\\.\\.\\*' ) ) . toEqual ( 'C:' ) ;
278
+
279
+ expect ( gp ( '\\\\System07\\C$/foo/./*' ) ) . toEqual ( '\\\\System07\\C$/foo/' ) ;
280
+ expect ( gp ( '\\\\System07\\C$/foo/./././*' ) ) . toEqual ( '\\\\System07\\C$/foo/' ) ;
281
+ expect ( gp ( '\\\\System07\\C$/./././*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
282
+
283
+ expect ( gp ( '\\\\System07\\C$\\foo\\.\\*' ) ) . toEqual ( '\\\\System07\\C$/foo/' ) ;
284
+ expect ( gp ( '\\\\System07\\C$\\foo\\.\\.\\.\\*' ) ) . toEqual ( '\\\\System07\\C$/foo/' ) ;
285
+ expect ( gp ( '\\\\System07\\C$\\.\\.\\.\\*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
286
+ }
287
+
288
+ done ( ) ;
289
+ } ) ;
255
290
} ) ;
256
291
257
292
if ( isWin32 ) {
@@ -268,15 +303,15 @@ if (isWin32) {
268
303
expect ( gp ( 'C:/' ) ) . toEqual ( 'C:/' ) ;
269
304
expect ( gp ( 'C:/.' ) ) . toEqual ( 'C:/' ) ;
270
305
expect ( gp ( 'C:/*' ) ) . toEqual ( 'C:/' ) ;
271
- expect ( gp ( 'C:/./*' ) ) . toEqual ( 'C:/. ' ) ;
306
+ expect ( gp ( 'C:/./*' ) ) . toEqual ( 'C:/' ) ;
272
307
expect ( gp ( 'C://' ) ) . toEqual ( 'C:/' ) ;
273
308
expect ( gp ( 'C://*' ) ) . toEqual ( 'C:/' ) ;
274
309
expect ( gp ( 'C:/path/*.js' ) ) . toEqual ( 'C:/path' ) ;
275
310
276
311
expect ( gp ( 'C:\\' ) ) . toEqual ( 'C:/' ) ;
277
312
expect ( gp ( 'C:\\.' ) ) . toEqual ( 'C:/' ) ;
278
313
expect ( gp ( 'C:\\*' ) ) . toEqual ( 'C:/' ) ;
279
- expect ( gp ( 'C:\\.\\*' ) ) . toEqual ( 'C:/. ' ) ;
314
+ expect ( gp ( 'C:\\.\\*' ) ) . toEqual ( 'C:/' ) ;
280
315
expect ( gp ( 'C:\\\\' ) ) . toEqual ( 'C:/' ) ;
281
316
expect ( gp ( 'C:\\\\*' ) ) . toEqual ( 'C:/' ) ;
282
317
expect ( gp ( 'C:\\path\\*.js' ) ) . toEqual ( 'C:/path' ) ;
@@ -285,17 +320,17 @@ if (isWin32) {
285
320
} ) ;
286
321
287
322
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:./ ' ) ;
323
+ expect ( gp ( 'C:' ) ) . toEqual ( 'C:' ) ;
324
+ expect ( gp ( 'C:.' ) ) . toEqual ( 'C:' ) ;
325
+ expect ( gp ( 'C:*' ) ) . toEqual ( 'C:' ) ;
326
+ expect ( gp ( 'C:./*' ) ) . toEqual ( 'C:' ) ;
327
+ expect ( gp ( 'C:.//' ) ) . toEqual ( 'C:' ) ;
328
+ expect ( gp ( 'C:.//*' ) ) . toEqual ( 'C:' ) ;
294
329
expect ( gp ( 'C:path/*.js' ) ) . toEqual ( 'C:path' ) ;
295
330
296
- expect ( gp ( 'C:.\\*' ) ) . toEqual ( 'C:. ' ) ;
297
- expect ( gp ( 'C:.\\\\' ) ) . toEqual ( 'C:./ ' ) ;
298
- expect ( gp ( 'C:.\\\\*' ) ) . toEqual ( 'C:./ ' ) ;
331
+ expect ( gp ( 'C:.\\*' ) ) . toEqual ( 'C:' ) ;
332
+ expect ( gp ( 'C:.\\\\' ) ) . toEqual ( 'C:' ) ;
333
+ expect ( gp ( 'C:.\\\\*' ) ) . toEqual ( 'C:' ) ;
299
334
expect ( gp ( 'C:path\\*.js' ) ) . toEqual ( 'C:path' ) ;
300
335
301
336
done ( ) ;
@@ -305,23 +340,23 @@ if (isWin32) {
305
340
expect ( gp ( '\\\\System07\\C$/' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
306
341
expect ( gp ( '\\\\System07\\C$/.' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
307
342
expect ( gp ( '\\\\System07\\C$/*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
308
- expect ( gp ( '\\\\System07\\C$/./*' ) ) . toEqual ( '\\\\System07\\C$/. ' ) ;
343
+ expect ( gp ( '\\\\System07\\C$/./*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
309
344
expect ( gp ( '\\\\System07\\C$//' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
310
345
expect ( gp ( '\\\\System07\\C$//*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
311
346
expect ( gp ( '\\\\System07\\C$/path/*.js' ) ) . toEqual ( '\\\\System07\\C$/path' ) ;
312
347
313
348
expect ( gp ( '\\\\System07\\C$/' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
314
349
expect ( gp ( '\\\\System07\\C$/.' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
315
350
expect ( gp ( '\\\\System07\\C$/*' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
316
- expect ( gp ( '\\\\System07\\C$/./*' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/. ' ) ;
351
+ expect ( gp ( '\\\\System07\\C$/./*' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
317
352
expect ( gp ( '\\\\System07\\C$//' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
318
353
expect ( gp ( '\\\\System07\\C$//*' , { flipBackslashes : false } ) ) . toEqual ( '\\\\System07\\C$/' ) ;
319
354
expect ( gp ( '\\\\System07\\C$/path/*.js' ) ) . toEqual ( '\\\\System07\\C$/path' ) ;
320
355
321
356
expect ( gp ( '\\\\System07\\C$\\' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
322
357
expect ( gp ( '\\\\System07\\C$\\.' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
323
358
expect ( gp ( '\\\\System07\\C$\\*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
324
- expect ( gp ( '\\\\System07\\C$\\.\\*' ) ) . toEqual ( '\\\\System07\\C$/. ' ) ;
359
+ expect ( gp ( '\\\\System07\\C$\\.\\*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
325
360
expect ( gp ( '\\\\System07\\C$\\\\' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
326
361
expect ( gp ( '\\\\System07\\C$\\\\*' ) ) . toEqual ( '\\\\System07\\C$/' ) ;
327
362
expect ( gp ( '\\\\System07\\C$\\path\\*.js' ) ) . toEqual ( '\\\\System07\\C$/path' ) ;
0 commit comments