fix escaping

This commit is contained in:
jonschlinkert 2015-04-18 01:32:50 -04:00
parent 3baaf7c00c
commit 73fad8b171
3 changed files with 10 additions and 2 deletions

View File

@ -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));
});

View File

@ -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));
});

View File

@ -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*');