jsdoc/plugins/test/specs/underscore.js
Jeff Williams 617b3236bf Replace old, vendored Jasmine with current npm package.
JSDoc-specific test functions are now properties of a `jsdoc` global, not a `jasmine` global.

Also updates license files to reflect the fact that we no longer vendor anything.
2019-05-12 15:10:38 -07:00

38 lines
1.2 KiB
JavaScript

/* global jsdoc */
describe('underscore plugin', () => {
const env = require('jsdoc/env');
const path = require('jsdoc/path');
let docSet;
const parser = jsdoc.createParser();
const pluginPath = 'plugins/underscore';
const fixturePath = 'plugins/test/fixtures/underscore';
const pluginPathResolved = path.join(env.dirname, pluginPath);
require('jsdoc/plugins').installPlugins([pluginPathResolved], parser);
docSet = jsdoc.getDocSetFromFile(`${fixturePath}.js`, parser);
it('should not mark normal, public properties as private', () => {
// Base line tests
const normal = docSet.getByLongname('normal');
expect(normal[0].access).toBeUndefined();
const realPrivate = docSet.getByLongname('Klass#privateProp');
expect(realPrivate[0].access).toEqual('private');
});
it('should hide doclet for symbols beginning with an underscore under normal circumstances', () => {
const hidden = docSet.getByLongname('_hidden');
expect(hidden[0].access).toEqual('private');
});
it('picks up "this"', () => {
const privateUnderscore = docSet.getByLongname('Klass#_privateProp');
expect(privateUnderscore[0].access).toEqual('private');
});
});