diff --git a/test/fixtures/jslangnames.js b/test/fixtures/jslangnames.js deleted file mode 100644 index a80d9439..00000000 --- a/test/fixtures/jslangnames.js +++ /dev/null @@ -1,23 +0,0 @@ -/** @namespace */ -var constructor = { - /** document me */ - toString: function(){} -}; - -/** @namespace */ -var prototype = { - /** document me */ - valueOf: function(){} -}; - -/** - * This is Object - * @namespace Object - */ - -/** - * This is Object.hasOwnProperty - * @method Object.hasOwnProperty - */ - -// NOTE: you can't document a prototype of an object in JSDoc -- seriously, you just can't diff --git a/test/fixtures/specialnames.js b/test/fixtures/specialnames.js index d775a0b1..81c1403e 100644 --- a/test/fixtures/specialnames.js +++ b/test/fixtures/specialnames.js @@ -1,2 +1,14 @@ +/** @namespace */ +var constructor = { + /** document me */ + toString: function() {} +}; + +/** @namespace */ +var prototype = { + /** document me */ + valueOf: function() {} +}; + /** document me */ -var hasOwnProperty = Object.prototype.hasOwnProperty; \ No newline at end of file +var hasOwnProperty = Object.prototype.hasOwnProperty; diff --git a/test/specs/documentation/specialnames.js b/test/specs/documentation/specialnames.js index edfa24b2..bd5dab68 100644 --- a/test/specs/documentation/specialnames.js +++ b/test/specs/documentation/specialnames.js @@ -2,11 +2,31 @@ describe('documenting symbols with special names', function() { var docSet = jasmine.getDocSetFromFile('test/fixtures/specialnames.js'); - var name = docSet.getByLongname('hasOwnProperty').filter(function($) { - return !($.undocumented); + var construct = docSet.getByLongname('constructor')[0]; + var constructToString = docSet.getByLongname('constructor.toString')[0]; + var hasOwnProp = docSet.getByLongname('hasOwnProperty')[0]; + var proto = docSet.getByLongname('prototype')[0]; + var protoValueOf = docSet.getByLongname('prototype.valueOf')[0]; + + it('When a symbol is named "constructor", the symbol should appear in the docs.', function() { + expect(construct).toBeDefined(); + }); + + it('When a symbol is named "constructor", its members are resolved correctly.', function() { + expect(constructToString).toBeDefined(); }); it('When a symbol is named "hasOwnProperty," the symbol should appear in the docs.', function() { - expect(name.length).toEqual(1); + expect(hasOwnProp).toBeDefined(); + }); + + // currently broken: https://github.com/jsdoc3/jsdoc/issues/891 + xit('When a symbol is named "prototype", the symbol should appear in the docs.', function() { + expect(proto).toBeDefined(); + }); + + // currently broken: https://github.com/jsdoc3/jsdoc/issues/891 + xit('When a symbol is named "prototype", its members are resolved correctly.', function() { + expect(protoValueOf).toBeDefined(); }); });