From 73fad8b171a97409391664b66a5f6ada591d608c Mon Sep 17 00:00:00 2001 From: jonschlinkert Date: Sat, 18 Apr 2015 01:32:50 -0400 Subject: [PATCH] fix escaping --- browser.js | 3 ++- index.js | 3 ++- test.js | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/browser.js b/browser.js index 31cfbe6..c7de01e 100644 --- a/browser.js +++ b/browser.js @@ -137,7 +137,8 @@ function has(is, glob, ch) { function escape(str) { var re = /\{([^{}]*?)}|\(([^()]*?)\)|\[([^\[\]]*?)\]/g; - return str.replace(re, function (outter, inner) { + return str.replace(re, function (outter, braces, parens, brackets) { + var inner = braces || parens || brackets; if (!inner) { return outter; } return outter.split(inner).join(esc(inner)); }); diff --git a/index.js b/index.js index 41909e6..ea0060d 100644 --- a/index.js +++ b/index.js @@ -136,7 +136,8 @@ function has(is, glob, ch) { function escape(str) { var re = /\{([^{}]*?)}|\(([^()]*?)\)|\[([^\[\]]*?)\]/g; - return str.replace(re, function (outter, inner) { + return str.replace(re, function (outter, braces, parens, brackets) { + var inner = braces || parens || brackets; if (!inner) { return outter; } return outter.split(inner).join(esc(inner)); }); diff --git a/test.js b/test.js index 1bc1086..f512768 100644 --- a/test.js +++ b/test.js @@ -332,6 +332,12 @@ describe('should get a base path:', function () { }); it('character classes:', function () { + assert.equal(parse('/[.]bashrc').base, '/'); + assert.equal(parse('/[.]bashrc').glob, '[.]bashrc'); + assert.equal(parse('/[.]bashrc').path.basename, '[.]bashrc'); + assert.equal(parse('/[.]bashrc').path.filename, '[.]bashrc'); + assert.equal(parse('/[.]bashrc').path.extname, ''); + assert.equal(parse('[a-c]b*').base, '.'); assert.equal(parse('[a-c]b*').glob, '[a-c]b*');