Added the following tests which fail without the patch and pass with it:
1) should fail gracefully when the default value has an unmatched bracket
2) should fail gracefully when the default value has an unmatched quote
Squashed commit of the following:
commit 5be2cb3103521d2ca1a14c24d4ccd776c1f2a5d9
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date: Mon Nov 3 14:29:29 2014 -0800
make tutorials respect the --recurse option; refactor modules to facilitate testing; improve tests
commit 9af57751385439ceee3fac8f698a747a745c7c2b
Merge: 5399745 97a8ab0
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date: Sat Nov 1 19:00:43 2014 -0700
Merge remote-tracking branch 'koalazak/master' into 712
Conflicts:
lib/jsdoc/opts/args.js
commit 97a8ab000b567c220525cc179c2f45b626236933
Author: zak <zak@ultra>
Date: Mon Jul 21 15:28:20 2014 -0300
Removed command-line option -U to recursive. Now is default. Added tests.
commit a79c9c9dac4eeb784e3f22b1da073c2af5b014cc
Author: zak <zak@ultra>
Date: Thu Jul 17 13:28:38 2014 -0300
Recurse 5 levels
commit 349d10e528d6ba797fd745e31e1e358ddcf26857
Author: koalazak <facu@Cacahuate.local>
Date: Wed Jul 16 22:30:41 2014 -0300
Travis CI ready ready
commit ffde2bf4bdc2bd0ba2daa20a58540e4a2dd099e8
Author: koalazak <facu@Cacahuate.local>
Date: Wed Jul 16 22:22:56 2014 -0300
Travis CI ready
commit 3e439151fb58d530abe294f1cc499e5fab7b8fe8
Author: koalazak <facu@Cacahuate.local>
Date: Wed Jul 16 21:47:22 2014 -0300
Optionally scan tutorials directory recursively
I do not want to have a directory of tutorials. I need to have the
tutorials distributed throughout the project. I have one in each
"package" folder.
Squashed commit of the following:
commit 5363a9850f1279c1ea5f916455899479aca71261
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date: Sat Nov 1 15:13:33 2014 -0700
DRY out; delint; remove unused capture group
commit e3066068f91ba5f2c920cb5389eae15ac70f45aa
Author: Christopher D. Parks <christopher.daniel.parks@gmail.com>
Date: Fri Apr 25 16:32:20 2014 -0700
Add missing semi-colon caught by eslint
commit 7bd864eecba67df99bae7b338685bf6cf31e2516
Author: Christopher D. Parks <christopher.daniel.parks@gmail.com>
Date: Fri Apr 25 16:14:12 2014 -0700
Adding tests for fix#640
Without the fix, we get the following when running ./jsdoc -T
Failures:
jsdoc/name splitName
1) should allow default values to have brackets
Message:
Expected '[path=["home",' to be '[path=["home", "user"]]'.
Stacktrace:
undefined
2) should allow default values to have brackets
Message:
Expected '"user"]] - Path split into components' to be 'Path split into components'.
Stacktrace:
undefined
3) should allow default values to have brackets inside strings
Message:
Expected '[path=["Unmatched' to be '[path=["Unmatched begin: ["]]'.
Stacktrace:
undefined
4) should allow default values to have brackets inside strings
Message:
Expected 'begin: ["]] - Path split into components' to be 'Path split into components'.
Stacktrace:
undefined
Finished in 5.704 seconds
870 tests, 2331 assertions, 4 failures
These tests pass with the fix
commit 531b13893dc2c715e5cb988fdb872897547e6375
Author: Christopher D. Parks <christopher.daniel.parks@gmail.com>
Date: Fri Apr 25 15:59:47 2014 -0700
Fix for #640 - Allow default values for parameters to contain brackets
Because JSDoc uses brackets to delimit default values inside the @param tag,
default values containing brackets can get misparsed. We solve this by
redefining splitName() in terms of splitNameMatchingBrackets() which tries
to find the matching end bracket if the name starts with an open bracket.
Ignores brackets inside strings. If splitNameMatchingBrackets() fails to find
the closing bracket, we fall back to the original regex method.
- In the default template, look for the list of static file paths in the
config property `templates.default.staticFiles.include`. (You can still
use `paths` instead of `include`.)
- Handle path-normalization issues that prevented the default template
from copying user-specified static files on Windows.
- Normalize paths in `fs.toDir` so that callers get the correct path
separator on Windows.
- Do not mark the doclet for the module object as undocumented.
- Track variables (including aliases) within the parent scope, so the members are resolved against the alias instead of the name used in the code.
class being exported within the module -- this has actually shown that
the doclets produced are probably correct, and that the bug is likely to
be within the template.
A new `tags.dictionaries` config setting allows you to choose which definitions to enable.
If a tag is defined in more than one dictionary, JSDoc will use the definition from the first dictionary.
- Change doclet property names
- Populate the list of property implementations in augment.js, not in the template
- Tone down the presentation of both tags in the default template
- Other related cleanup