Skip to content

Commit 766bcb0

Browse files
committed
closes #21
1 parent fa58f45 commit 766bcb0

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

lib/parse.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ const parse = (input, options) => {
791791
prior.output = '(?:' + prior.output;
792792

793793
prev.type = 'globstar';
794-
prev.output = globstar(opts) + '|$)';
794+
prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)');
795795
prev.value += value;
796796

797797
state.output += prior.output + prev.output;

test/options.format.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ describe('options.format', () => {
4444
assert(isMatch('.\\foo\\bar.js', '**/foo/**', { ...opts, windows: false }));
4545
assert(isMatch('.\\foo\\bar.js', './**/foo/**', opts));
4646
equal(match(fixtures, '*', opts), ['a', 'b']);
47-
equal(match(fixtures, '**/a/**', opts), ['a', 'a/a', 'a/c', 'a/b', 'a/x', 'a/a/a', 'a/a/b', 'a/a/a/a', 'a/a/a/a/a']);
47+
equal(match(fixtures, '**/a/**', opts), ['a/a', 'a/c', 'a/b', 'a/x', 'a/a/a', 'a/a/b', 'a/a/a/a', 'a/a/a/a/a']);
4848
equal(match(fixtures, '*/*', opts), ['a/a', 'a/b', 'a/c', 'a/x', 'x/y', 'z/z']);
4949
equal(match(fixtures, '*/*/*', opts), ['a/a/a', 'a/a/b']);
5050
equal(match(fixtures, '*/*/*/*', opts), ['a/a/a/a']);
5151
equal(match(fixtures, '*/*/*/*/*', opts), ['a/a/a/a/a']);
5252
equal(match(fixtures, '*', opts), ['a', 'b']);
53-
equal(match(fixtures, '**/a/**', opts), ['a', 'a/a', 'a/c', 'a/b', 'a/x', 'a/a/a', 'a/a/b', 'a/a/a/a', 'a/a/a/a/a']);
53+
equal(match(fixtures, '**/a/**', opts), ['a/a', 'a/c', 'a/b', 'a/x', 'a/a/a', 'a/a/b', 'a/a/a/a', 'a/a/a/a/a']);
5454
equal(match(fixtures, 'a/*/a', opts), ['a/a/a']);
5555
equal(match(fixtures, 'a/*', opts), ['a/a', 'a/b', 'a/c', 'a/x']);
5656
equal(match(fixtures, 'a/*/*', opts), ['a/a/a', 'a/a/b']);

test/options.ignore.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ describe('options.ignore', () => {
2020
const opts = { ignore: ['a/**'], strictSlashes: true };
2121
const dotOpts = { ...opts, dot: true };
2222

23-
assert.deepEqual(match(globs, '*', opts), ['b']);
23+
assert.deepEqual(match(globs, '*', opts), ['a', 'b']);
24+
assert.deepEqual(match(globs, '*', { ...opts, strictSlashes: false }), ['b']);
2425
assert.deepEqual(match(globs, '*', { ignore: '**/a' }), ['b']);
2526
assert.deepEqual(match(globs, '*/*', opts), ['x/y', 'z/z']);
2627
assert.deepEqual(match(globs, '*/*/*', opts), ['b/b/b', 'b/b/c', 'c/c/c', 'e/f/g', 'h/i/a', 'x/x/x', 'z/z/z']);
@@ -31,7 +32,7 @@ describe('options.ignore', () => {
3132
assert.deepEqual(match(globs, '**/*/[b-z]', opts), ['b/b/b', 'b/b/c', 'c/c/c', 'e/f/g', 'x/x/x', 'x/y', 'z/z', 'z/z/z']);
3233

3334
assert.deepEqual(match(globs, '*', { ignore: '**/a', dot: true }), ['.a', 'b']);
34-
assert.deepEqual(match(globs, '*', dotOpts), ['.a', 'b']);
35+
assert.deepEqual(match(globs, '*', dotOpts), ['.a', 'a', 'b']);
3536
assert.deepEqual(match(globs, '*/*', dotOpts), ['.a/a', 'x/y', 'z/z'].sort());
3637
assert.deepEqual(match(globs, '*/*/*', dotOpts), ['.a/a/a', 'b/b/b', 'b/b/c', 'c/c/c', 'e/f/g', 'h/i/a', 'x/x/x', 'z/z/z'].sort());
3738
assert.deepEqual(match(globs, '*/*/*/*', dotOpts), ['.a/a/a/a']);

0 commit comments

Comments
 (0)