jsdoc/test/specs/documentation/arrowfunction.js
Jeff Williams 5f578e803b migrate from old, vendored Jasmine to jasmine package (#1602)
Plus some miscellaneous cleanup.
2019-01-21 19:38:07 -08:00

31 lines
1.1 KiB
JavaScript

/* global jsdoc */
describe('arrow functions', () => {
const docSet = jsdoc.getDocSetFromFile('test/fixtures/arrowfunction.js');
const increment = docSet.getByLongname('increment')[0];
const print = docSet.getByLongname('print')[0];
const name = docSet.getByLongname('<anonymous>#name');
it('should use the correct name and longname', () => {
expect(increment).toBeDefined();
expect(increment.name).toBe('increment');
});
it('should allow function parameters to be documented', () => {
expect(increment.params.length).toBe(1);
expect(increment.params[0].name).toBe('n');
});
it('should support inline comments on parameters', () => {
expect(print.params.length).toBe(1);
expect(print.params[0].type.names[0]).toBe('*');
});
// TODO: we currently use the wrong longname in this case; see
// `module:jsdoc/src/astnode.nodeToValue` and the comment on `case Syntax.MethodDefinition` for
// details
xit('should use the correct longname for members of a class returned by an arrow function',
() => {
expect(name.length).toBe(2);
});
});