@@ -35,6 +35,7 @@ describe('glob-parent', function() {
35
35
assert . equal ( gp ( '/root/path/to/*.js' ) , '/root/path/to' ) ;
36
36
assert . equal ( gp ( 'chapter/foo [bar]/' ) , 'chapter' ) ;
37
37
assert . equal ( gp ( 'path/[a-z]' ) , 'path' ) ;
38
+ assert . equal ( gp ( '[a-z]' ) , '.' ) ;
38
39
assert . equal ( gp ( 'path/{to,from}' ) , 'path' ) ;
39
40
assert . equal ( gp ( 'path/(to|from)' ) , 'path' ) ;
40
41
assert . equal ( gp ( 'path/(foo bar)/subdir/foo.*' ) , 'path/(foo bar)/subdir' ) ;
@@ -57,6 +58,7 @@ describe('glob-parent', function() {
57
58
assert . equal ( gp ( 'path/**/subdir/foo.*' ) , 'path' ) ;
58
59
assert . equal ( gp ( 'path/subdir/**/foo.js' ) , 'path/subdir' ) ;
59
60
assert . equal ( gp ( 'path/!subdir/foo.js' ) , 'path/!subdir' ) ;
61
+ assert . equal ( gp ( 'path/{foo,bar}/' ) , 'path' ) ;
60
62
} ) ;
61
63
62
64
it ( 'should respect escaped characters' , function ( ) {
@@ -67,22 +69,44 @@ describe('glob-parent', function() {
67
69
assert . equal ( gp ( 'path/\\*\\(a\\|b\\)/subdir/foo.*' ) , 'path/*(a|b)/subdir' ) ;
68
70
assert . equal ( gp ( 'path/\\[foo bar\\]/subdir/foo.*' ) , 'path/[foo bar]/subdir' ) ;
69
71
assert . equal ( gp ( 'path/\\[bar]/' ) , 'path/[bar]' ) ;
72
+ assert . equal ( gp ( 'path/\\[bar]' ) , 'path/[bar]' ) ;
73
+ assert . equal ( gp ( '[bar]' ) , '.' ) ;
74
+ assert . equal ( gp ( '[bar]/' ) , '.' ) ;
75
+ assert . equal ( gp ( '\\[bar]' ) , '[bar]' ) ;
76
+ assert . equal ( gp ( '[bar\\]' ) , '.' ) ;
70
77
assert . equal ( gp ( 'path/foo \\[bar]/' ) , 'path/foo [bar]' ) ;
78
+ assert . equal ( gp ( 'path/\\{foo,bar}/' ) , 'path/{foo,bar}' ) ;
79
+ assert . equal ( gp ( '\\{foo,bar}/' ) , '{foo,bar}' ) ;
80
+ assert . equal ( gp ( '\\{foo,bar\\}' ) , '{foo,bar}' ) ;
81
+ assert . equal ( gp ( '{foo,bar\\}' ) , '.' ) ;
71
82
} ) ;
72
83
73
84
it ( 'should respect glob enclosures with embedded separators' , function ( ) {
74
85
assert . equal ( gp ( 'path/{,/,bar/baz,qux}/' ) , 'path' ) ;
86
+ assert . equal ( gp ( 'path/\\{,/,bar/baz,qux}/' ) , 'path/{,/,bar/baz,qux}' ) ;
75
87
assert . equal ( gp ( 'path/\\{,/,bar/baz,qux\\}/' ) , 'path/{,/,bar/baz,qux}' ) ;
76
88
assert . equal ( gp ( '/{,/,bar/baz,qux}/' ) , '/' ) ;
77
89
assert . equal ( gp ( '/\\{,/,bar/baz,qux}/' ) , '/{,/,bar/baz,qux}' ) ;
78
90
assert . equal ( gp ( '{,/,bar/baz,qux}' ) , '.' ) ;
79
91
assert . equal ( gp ( '\\{,/,bar/baz,qux\\}' ) , '{,/,bar/baz,qux}' ) ;
92
+ assert . equal ( gp ( '\\{,/,bar/baz,qux}/' ) , '{,/,bar/baz,qux}' ) ;
80
93
assert . equal ( gp ( 'path/foo[a\\\/]/' ) , 'path' ) ;
81
94
assert . equal ( gp ( 'path/foo\\[a\\\/]/' ) , 'path/foo[a\\\/]' ) ;
82
95
assert . equal ( gp ( 'foo[a\\\/]' ) , '.' ) ;
83
96
assert . equal ( gp ( 'foo\\[a\\\/]' ) , 'foo[a\\\/]' ) ;
84
97
} ) ;
85
98
99
+ it ( 'should handle nested braces' , function ( ) {
100
+ assert . equal ( gp ( 'path/{../,./,{bar,/baz\\},qux\\}/' ) , 'path' ) ;
101
+ assert . equal ( gp ( 'path/{../,./,\\{bar,/baz},qux}/' ) , 'path' ) ;
102
+ assert . equal ( gp ( 'path/\\{../,./,\\{bar,/baz\\},qux\\}/' ) , 'path/{../,./,{bar,/baz},qux}' ) ;
103
+ assert . equal ( gp ( '{../,./,{bar,/baz\\},qux\\}/' ) , '.' ) ;
104
+ assert . equal ( gp ( '{../,./,{bar,/baz\\},qux\\}' ) , '.' ) ;
105
+ assert . equal ( gp ( 'path/{,/,bar/{baz,qux\\}}/' ) , 'path' ) ;
106
+ assert . equal ( gp ( 'path/{,/,bar/{baz,qux}\\}/' ) , 'path' ) ;
107
+ //assert.equal(gp('path/\\{../,./,{bar,/baz},qux}/'), 'path');
108
+ } ) ;
109
+
86
110
it ( 'should return parent dirname from non-glob paths' , function ( ) {
87
111
assert . equal ( gp ( 'path' ) , '.' ) ;
88
112
assert . equal ( gp ( 'path/foo' ) , 'path' ) ;
0 commit comments