Jeff Williams a59b5cdba4 fix: prevent circular refs when params have the same type expression
Catharsis caches parse results by default; if you parse the same type expression twice, with the same options, you get the same object each time.

When the user passes the `--debug` flag, we expose the parsed type for each parameter as an enumerable property of the doclet. If two parameters used the same type expression, the resulting doclet could contain a circular reference.

This change disables the Catharsis cache, so that Catharsis returns a new object for each parsed type, which prevents circular references. As a result, this change fixes an issue with the `-X` flag, and with some JSDoc templates.
2020-07-22 16:54:53 -07:00
..
2015-10-30 13:11:43 -06:00

Testing JSDoc 3

Running Tests

Running tests is easy. Just change your working directory to the jsdoc folder and run the following command on Windows:

jsdoc -T

Or on OS X, Linux, and other POSIX-compliant platforms:

./jsdoc -T

Writing Tests

Adding tests is pretty easy, too. You can write tests for JSDoc itself (to make sure tags and the parser, etc. are working properly), tests for plugins, and/or tests for templates.

JSDoc 3 uses Jasmine (https://github.com/pivotal/jasmine) as its testing framework. Take a look at that project's wiki for documentation on writing tests in general.

Tests for JSDoc

Take a look at the files in the test directory for many examples of writing tests for JSDoc itself. The test\fixtures directory hold fixtures for use in the tests, and the test\specs directory holds the tests themselves.

Tests for plugins

Tests for plugins are found in the plugins\test directory. Plugins containing tests that were installed with the Jakefile install task will be run automatically.

Tests for templates

TODO