diff --git a/lib/jsdoc/tag/dictionary/definitions.js b/lib/jsdoc/tag/dictionary/definitions.js index d82d9923..aa4cbe69 100644 --- a/lib/jsdoc/tag/dictionary/definitions.js +++ b/lib/jsdoc/tag/dictionary/definitions.js @@ -442,7 +442,7 @@ exports.defineTags = function(dictionary) { canHaveType: true, onTagged: function(doclet, tag) { setDocletKindToTitle(doclet, tag); - setDocletNameToValue(doclet, tag); + setDocletNameToValueName(doclet, tag); setDocletTypeToValueType(doclet, tag); } }) diff --git a/test/fixtures/membertag.js b/test/fixtures/membertag.js index 66aee08d..606b20ad 100644 --- a/test/fixtures/membertag.js +++ b/test/fixtures/membertag.js @@ -3,3 +3,6 @@ var x; /** @var foobar */ /** @var {string} baz */ + +/** @member {Object} */ +var y; diff --git a/test/specs/tags/membertag.js b/test/specs/tags/membertag.js index cfea6de3..2b311f14 100644 --- a/test/specs/tags/membertag.js +++ b/test/specs/tags/membertag.js @@ -2,12 +2,14 @@ describe("@member tag", function() { var docSet = jasmine.getDocSetFromFile('test/fixtures/membertag.js'), doc = docSet.getByLongname('x')[0], doc2 = docSet.getByLongname('foobar')[0], - doc3 = docSet.getByLongname('baz')[0]; + doc3 = docSet.getByLongname('baz')[0], + doc4 = docSet.getByLongname('y')[0]; it("sets the doclet's 'kind' property to 'member'", function() { expect(doc.kind).toBe('member'); expect(doc2.kind).toBe('member'); expect(doc3.kind).toBe('member'); + expect(doc4.kind).toBe('member'); }); it("If specified with a name, sets the doclet's name property", function() { @@ -22,4 +24,15 @@ describe("@member tag", function() { expect(doc3.type.names.length).toBe(1); expect(doc3.type.names[0]).toBe('string'); }); + + it("If specified with a type but no name, sets the doclet's name from the following JavaScript syntax", function() { + expect(doc4.name).toBe('y'); + }); + + it("If specified with a type but no name, sets the doclet's type appropriately", function() { + expect(doc4.type).toBeDefined(); + expect(Array.isArray(doc4.type.names)).toBeTruthy(); + expect(doc4.type.names.length).toBe(1); + expect(doc4.type.names[0]).toBe('Object'); + }); });