539 Commits

Author SHA1 Message Date
Jeff Williams
821099ba47 remove tests that duplicate the code they're testing 2014-12-22 09:37:06 -08:00
Jeff Williams
a86af80836 fire jsdocCommentFound and symbolFound events in the correct order (#770)
On Rhino, for each file, we now fire all the jsdocCommentFound events in source order, followed by all the symbolFound events in source order. This behavior is consistent with previous versions of JSDoc.

On Node.js, we now fire interleaved jsdocCommentFound and symbolFound events in source order.

Includes a new Rhino .jar file: jsdoc3/rhino@5fbcc2d953
2014-12-21 17:39:56 -08:00
Jeff Williams
47aad100fc use the variation to ensure a unique ID for each doclet 2014-12-21 17:27:40 -08:00
Jeff Williams
b285e18577 rename method; add test stubs 2014-12-21 10:29:06 -08:00
Jeff Williams
fc2c165626 generate unique IDs when two members have the same name but different scopes (#539) 2014-12-19 09:13:06 -08:00
Jeff Williams
8ccbb1b435 use a dash to prevent filenames from starting with an underscore 2014-12-18 20:56:11 -08:00
Jeff Williams
869f63113f allow interface tag to have a name in the JSDoc tag dictionary (#828) 2014-12-18 16:41:51 -08:00
Jeff Williams
1cb337c90a cleanup 2014-12-16 10:33:45 -08:00
Jeff Williams
416b42fa75 update ESLint; delint 2014-12-13 09:39:21 -08:00
Jeff Williams
eafc56de23 revert part of 5fa636 due to performance hit (#830) 2014-12-07 16:37:28 -08:00
Jeff Williams
3162215c9a improve the way we handle namespaces 2014-12-07 13:51:48 -08:00
Jeff Williams
5fa636ab7b create doclets for mixed-in symbols (#378)
Also includes a fair amount of cleanup.
2014-12-07 11:05:56 -08:00
Jeff Williams
42104c82ee enable lint-checking for tests; delint/cleanup tests 2014-11-28 18:36:04 -08:00
Jeff Williams
f135456396 don't overwrite the classdesc tag's value when the class and constructor tags are also present (#806) 2014-11-27 11:48:11 -08:00
Jeff Williams
0daeb2e947 improve dumper module and global dump function (#811)
- Fixed an issue in the dumper module that caused non-circular references between objects to be treated as circular references. For example, in an array of objects A and B, if B.a refers to A, the value of B.a can now be dumped.
- The dumper module is now much faster when the built-in class `Set` is not available.
- The global dump function is now much faster and is less likely to dump the value `<CircularRef>`.
2014-11-27 10:03:26 -08:00
Jeff Williams
f302234811 delint; cleanup 2014-11-27 09:48:07 -08:00
Jeff Williams
b22a8a20c6 add overrides property to doclets that override other symbols (#792) 2014-11-11 17:09:37 -08:00
Jeff Williams
93cfe292ef delint 2014-11-11 16:50:37 -08:00
Jeff Williams
8f1d892fbf ensure that filenames do not start with an underscore (#758)
Squashed commit of the following:

commit 11da3dbe026fb0c76d619f0295a195d1f012462e
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date:   Fri Nov 7 14:42:02 2014 -0800

    add test for #758

commit f3e001d549c5e0e69e50b231f375da92f3e8f688
Merge: df1f4bd d551131
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date:   Fri Nov 7 14:32:30 2014 -0800

    Merge remote-tracking branch 'danorton/patch-1' into 758

commit d5511316468eb93f852c51fab5eec380bcfee4b4
Author: Daniel Norton <daniel@danielnorton.com>
Date:   Wed Sep 3 17:00:49 2014 -0500

    Prevent filenames beginning with underscore

    A lot of related software (most notably github.io and the default configuration of jsdoc itself) ignores files with names that begin with an underscore, but the makeUniqueFilename() creates such filenames when the incoming filename is blank. This patch modifies makeUniqueFilename() to insert the ASCII letter "X" before empty filenames or filenames that begin with an underscore.
2014-11-07 14:42:16 -08:00
Jeff Williams
df1f4bda22 treat foo="bar" as a non-optional version of [foo="bar"] (#791) 2014-11-06 20:51:13 -08:00
Jeff Williams
d17ecfd8ec remove cruft from Tag objects 2014-11-06 20:28:34 -08:00
Christopher D. Parks
768a61c630 Falling back to regex solution for default value when value is malformed
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
2014-11-05 18:01:55 -08:00
Jeff Williams
1f71ae090e fix bad test case 2014-11-03 15:19:14 -08:00
Jeff Williams
06acc6697a optionally scan tutorials directory recursively (#712)
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.
2014-11-03 14:30:21 -08:00
Jeff Williams
5399745a97 allow default values for parameters to contain brackets (#640)
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.
2014-11-01 15:14:04 -07:00
Jeff Williams
fc2b4ad3d2 fix Windows path issues and static-file copying (#785)
- 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.
2014-10-30 12:06:26 -07:00
Jeff Williams
e60fc3c717 prevent duplication when two parent classes have instance members with identical names (#613) 2014-10-25 11:05:56 -07:00
Jeff Williams
996c283733 handle symbol names with leading/trailing whitespace (#549) 2014-10-23 09:38:30 -07:00
Jeff Williams
58839223a9 strip module namespace from module and exports tag values (#786)
This change makes `/** @exports module:foo */` a synonym for `/** @exports foo */`.
2014-10-22 15:48:51 -07:00
Jeff Williams
5512af9677 update package schema, and add tests to validate package objects against the schema (#788) 2014-10-22 13:31:04 -07:00
Jeff Williams
53d2ed719b prevent cruft in Package objects (#787) 2014-10-22 12:22:22 -07:00
Jeff Williams
c81ace882e extract more information from package.json files; add tests (#710) 2014-10-20 09:34:54 -07:00
Jeff Williams
c45fdaa0c3 allow any file to be used as a package or README file (#708) 2014-10-17 12:46:52 -07:00
Jeff Williams
9e699ff8a9 omit non-enumerable properties from cloned objects (#784)
Drastically improves performance in some cases (for example, when using the `--explain`/`-X` option).
2014-10-15 16:18:19 -07:00
Jeff Williams
d28d15eb72 remove unused code 2014-10-15 15:50:25 -07:00
Jeff Williams
8003ce1498 cleanup 2014-10-14 09:30:45 -07:00
Jeff Williams
2eb3c467ee handle enums that are part of a chain of assignments (#702)
We now add the enum properties to all of the symbols in the assignment chain, rather than just the first symbol.
2014-10-12 13:47:01 -07:00
Jeff Williams
8f231c12b5 enable a test case 2014-10-12 13:32:15 -07:00
Jeff Williams
68ceb33ec3 stop adding a scope property to module doclets that include an exports tag (#782) 2014-10-11 15:09:53 -07:00
Jeff Williams
f77984df55 fix name resolution when the exports tag is used on a pointer to the module's exports object (#404) 2014-10-11 09:58:51 -07:00
Jeff Williams
1774569850 delint 2014-10-10 15:19:52 -07:00
Jeff Williams
c083ab7bd1 remove unused test; cleanup 2014-10-07 08:54:22 -07:00
Jeff Williams
413c7eb186 whitespace 2014-10-07 08:53:48 -07:00
Jeff Williams
3b865dde3f Merge remote-tracking branch 'brjs/fix-classdesc-in-modules' 2014-10-07 08:45:24 -07:00
Jeff Williams
4eb86a13a2 handle object literals whose property names must be escaped in a regexp (#775) 2014-10-05 21:35:45 -07:00
Jeff Williams
765abd9a10 cleanup 2014-10-05 21:31:24 -07:00
Jeff Williams
df7a1e0232 do not add an exception's description and type to the parent doclet; avoid circular refs when cloning an object (#772) 2014-10-05 21:17:25 -07:00
Jeff Williams
908e5e6076 do not unescape entities in Markdown tutorials (#743) 2014-09-22 15:42:10 -07:00
Jeff Williams
ebb6b2284f cleanup 2014-09-22 15:35:46 -07:00
Jeff Williams
73998951b1 fix exports tag when the module object is passed to an AMD function (#642)
- 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.
2014-09-19 09:01:14 -07:00