Merge pull request #802 from cdparks/fallback-to-regex

Falling back to regex solution for default value when value is malformed
This commit is contained in:
Jeff Williams 2014-11-06 08:49:40 -08:00
commit bfddc53034
2 changed files with 23 additions and 1 deletions

View File

@ -408,8 +408,12 @@ exports.splitName = function(nameDesc) {
// dash as a separator
// optional values get special treatment
var result = null;
if (nameDesc[0] === '[') {
return splitNameMatchingBrackets(nameDesc);
result = splitNameMatchingBrackets(nameDesc);
if (result !== null) {
return result;
}
}
nameDesc.match(REGEXP_NAME_DESCRIPTION);

View File

@ -264,6 +264,24 @@ describe('jsdoc/name', function() {
expect(parts.name).toBe('[path=["Unmatched begin: ["]]');
expect(parts.description).toBe('Path split into components');
});
it('should fail gracefully when the default value has an unmatched bracket', function() {
var startName = '[path=["home", "user"] - Path split into components'
var parts = jsdoc.name.splitName(startName);
expect(parts).not.toBe(null);
expect(parts.name).toBe('[path=["home", "user"]');
expect(parts.description).toBe('Path split into components');
});
it('should fail gracefully when the default value has an unmatched quote', function() {
var startName = '[path=["home", "user] - Path split into components'
var parts = jsdoc.name.splitName(startName);
expect(parts).not.toBe(null);
expect(parts.name).toBe('[path=["home", "user]');
expect(parts.description).toBe('Path split into components');
});
});
describe('resolve', function() {