mirror of
https://github.com/jsdoc/jsdoc.git
synced 2025-12-08 19:46:11 +00:00
Added tests for @desc.
This commit is contained in:
parent
dac2229fd2
commit
93a3c0dd81
@ -1,6 +1,6 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "jsdoc-3",
|
||||
"version": "0.0.0+2010-06-27-2042"
|
||||
"version": "0.0.0+2010-07-04-2302"
|
||||
}
|
||||
}
|
||||
|
||||
@ -246,15 +246,9 @@
|
||||
for (var i = 0, leni = tags.length; i < leni; i++) {
|
||||
tagAbout = tagDictionary.lookUp(tags[i].name);
|
||||
|
||||
if (tags[i].name === 'private') {
|
||||
tags[tags.length] = parse_tag.fromText('access private');
|
||||
}
|
||||
else if (tags[i].name === 'protected') {
|
||||
tags[tags.length] = parse_tag.fromText('access protected');
|
||||
}
|
||||
else if (tags[i].name === 'public') {
|
||||
tags[tags.length] = parse_tag.fromText('access public');
|
||||
}
|
||||
if (tagAbout.setsDocletAccess) {
|
||||
tags[tags.length] = parse_tag.fromText('access '+tags[i].name);
|
||||
}
|
||||
else if (tags[i].name === 'const') {
|
||||
tags[tags.length] = parse_tag.fromText('attribute constant');
|
||||
}
|
||||
@ -280,7 +274,7 @@
|
||||
taggedMemberof = memberof = tags[i].value;
|
||||
}
|
||||
|
||||
if ( tagAbout.canProvideName/*nameables.indexOf(tags[i].name) > -1*/ ) {
|
||||
if ( tagAbout.setsDocletName/*nameables.indexOf(tags[i].name) > -1*/ ) {
|
||||
if (tags[i].name === 'property' && (isa === 'constructor')) {
|
||||
// to avoid backwards compatability conflicts we just ignore a @property in a doclet after a @constructor
|
||||
}
|
||||
|
||||
@ -11,7 +11,8 @@
|
||||
(function() {
|
||||
|
||||
var Token = Packages.org.mozilla.javascript.Token,
|
||||
currentModule = '';
|
||||
currentModule = '',
|
||||
tagDictionary = require('jsdoc/tagdictionary');
|
||||
|
||||
exports.setCurrentModule = function(moduleName) {
|
||||
currentModule = moduleName;
|
||||
@ -29,8 +30,9 @@
|
||||
memberof = doclet.tagValue('memberof') || '',
|
||||
path,
|
||||
shortname,
|
||||
prefix,
|
||||
supportedNamespaces = ['module', 'event', 'file'];
|
||||
prefix;
|
||||
//,
|
||||
//supportedNamespaces = ['module', 'event', 'file'];
|
||||
|
||||
// only keep the first word of the first tagged name
|
||||
name = name.split(/\s+/g)[0];
|
||||
@ -55,9 +57,9 @@
|
||||
if (memberof) { doclet.setTag('memberof', memberof); }
|
||||
}
|
||||
|
||||
// if name doesn't already have a doc-namespace and needs one
|
||||
// if name doesn't already have a docspace and needs one
|
||||
// the namespace should appear in the path but not the name
|
||||
if (supportedNamespaces.indexOf(isa) > -1) {
|
||||
if (tagDictionary.lookUp(isa).isDocspace) {
|
||||
if ( /^[a-z_$-]+:(\S+)/i.test(name) ) {
|
||||
name = RegExp.$1;
|
||||
}
|
||||
|
||||
@ -46,8 +46,9 @@
|
||||
//// default properties of all tags
|
||||
TagDefinition.prototype = {
|
||||
isExported : false, // this tag should appear as a top level property in the doclet?
|
||||
canProvideIsa : false, // the name of this tag is used to define the doclet's isa property
|
||||
canProvideName : false, // this tag can be used to name the doclet
|
||||
setsDocletIsa : false, // the name of this tag is used to define the doclet's isa property
|
||||
setsDocletName : false, // this tag can be used to name the doclet
|
||||
setsDocletAccess: false,
|
||||
isDocspace : false, // the name of this tag becomes the docspace for the doclet name, like "event:"
|
||||
canHaveType : false, // this tag can have a {type}
|
||||
canHavePname : false, // this tag can have a parameter-type name
|
||||
@ -57,14 +58,14 @@
|
||||
|
||||
//// default event handlers?
|
||||
// TagDefinition.prototype.onAddTagToDoclet = function(tag, doclet) {
|
||||
// if (this.canProvideIsa) {
|
||||
// if (this.setsDocletIsa) {
|
||||
// if (doclet.isa) {
|
||||
// throw 'Overwriting existing isa in doclet: was "'+doclet.isa+'", now "'+this.title+'"';
|
||||
// }
|
||||
// doclet.isa = this.title;
|
||||
// }
|
||||
//
|
||||
// if (this.canProvideName) {
|
||||
// if (this.setsDocletName) {
|
||||
// if (doclet.name) {
|
||||
// throw 'Overwriting existing name in doclet: was "'+doclet.name+'", now "'+this.title+'"';
|
||||
// }
|
||||
@ -99,32 +100,32 @@
|
||||
|
||||
// @namespace <docletName>
|
||||
new TagDefinition('namespace', {
|
||||
canProvideIsa: true,
|
||||
canProvideName: true
|
||||
setsDocletIsa: true,
|
||||
setsDocletName: true
|
||||
});
|
||||
|
||||
// @constructor <docletName>
|
||||
new TagDefinition('constructor', {
|
||||
canProvideIsa: true,
|
||||
canProvideName: true
|
||||
setsDocletIsa: true,
|
||||
setsDocletName: true
|
||||
});
|
||||
|
||||
// @const <docletName>
|
||||
new TagDefinition('const', {
|
||||
canProvideIsa: true,
|
||||
canProvideName: true
|
||||
setsDocletIsa: true,
|
||||
setsDocletName: true
|
||||
});
|
||||
|
||||
// @enum <docletName>
|
||||
new TagDefinition('enum', {
|
||||
canProvideIsa: true,
|
||||
canProvideName: true
|
||||
setsDocletIsa: true,
|
||||
setsDocletName: true
|
||||
});
|
||||
|
||||
// @file|overview|fileoverview <docletName>
|
||||
new TagDefinition('file', {
|
||||
canProvideIsa: true,
|
||||
canProvideName: true,
|
||||
setsDocletIsa: true,
|
||||
setsDocletName: true,
|
||||
isDocspace: true
|
||||
});
|
||||
|
||||
@ -133,7 +134,7 @@
|
||||
canHaveType: true,
|
||||
canHavePname: true,
|
||||
canHavePdesc: true,
|
||||
canProvideName: true
|
||||
setsDocletName: true
|
||||
});
|
||||
|
||||
// @property <docletType> <docletName> <docletDesc>
|
||||
@ -141,20 +142,20 @@
|
||||
canHaveType: true,
|
||||
canHavePname: true,
|
||||
canHavePdesc: true,
|
||||
canProvideName: true
|
||||
setsDocletName: true
|
||||
});
|
||||
|
||||
// @event <docletName>
|
||||
new TagDefinition('event', {
|
||||
canProvideIsa: true,
|
||||
canProvideName: true,
|
||||
setsDocletIsa: true,
|
||||
setsDocletName: true,
|
||||
isDocspace: true
|
||||
});
|
||||
|
||||
// @module <docletName>
|
||||
new TagDefinition('module', {
|
||||
canProvideIsa: true,
|
||||
canProvideName: true,
|
||||
setsDocletIsa: true,
|
||||
setsDocletName: true,
|
||||
isDocspace: true
|
||||
});
|
||||
|
||||
@ -185,4 +186,21 @@
|
||||
canHavePdesc: true
|
||||
});
|
||||
|
||||
// @private <docletAccess>
|
||||
new TagDefinition('private', {
|
||||
setsDocletAccess: true
|
||||
});
|
||||
|
||||
// @protected <docletAccess>
|
||||
new TagDefinition('protected', {
|
||||
setsDocletAccess: true
|
||||
});
|
||||
|
||||
// @public <docletAccess>
|
||||
new TagDefinition('public', {
|
||||
setsDocletAccess: true
|
||||
});
|
||||
|
||||
|
||||
|
||||
})();
|
||||
@ -5,6 +5,7 @@ load(BASEDIR + '/test/tests/04_jsdoc_docset.js');
|
||||
load(BASEDIR + '/test/tests/05_jsdoc_doclet.js');
|
||||
load(BASEDIR + '/test/tests/06_jsdoc_tag.js');
|
||||
|
||||
load(BASEDIR + '/test/tests/09_tag_desc.js');
|
||||
load(BASEDIR + '/test/tests/10_tag_constructor.js');
|
||||
load(BASEDIR + '/test/tests/11_tag_namespace.js');
|
||||
load(BASEDIR + '/test/tests/12_tag_property.js');
|
||||
@ -18,6 +19,6 @@ load(BASEDIR + '/test/tests/20_tag_file.js');
|
||||
// see http://visionmedia.github.com/jspec/
|
||||
JSpec.run({
|
||||
reporter: JSpec.reporters.Terminal,
|
||||
failuresOnly: false
|
||||
failuresOnly: true
|
||||
})
|
||||
.report();
|
||||
63
test/tests/09_tag_desc.js
Normal file
63
test/tests/09_tag_desc.js
Normal file
@ -0,0 +1,63 @@
|
||||
(function() {
|
||||
var jsdoc,
|
||||
doclets;
|
||||
|
||||
JSpec.describe('@desc', function() {
|
||||
|
||||
before(function() {
|
||||
// docsets can only be created by parsers
|
||||
jsdoc = {
|
||||
tag: require('jsdoc/tag'),
|
||||
parser: require('jsdoc/parser')
|
||||
};
|
||||
jsdoc.parser.parseFiles(BASEDIR + 'test/tests/09_tag_desc.js');
|
||||
doclets = jsdoc.parser.result;
|
||||
});
|
||||
|
||||
describe('A doclet that starts with untagged text', function() {
|
||||
it('should have an `desc` property set to the text', function() {
|
||||
var doclet = doclets[0].toObject();
|
||||
expect(doclet).to(have_property, 'desc');
|
||||
expect(doclet.desc).to(eql, 'Here is Edward Bear, coming downstairs now,\nbump,\n bump,\n bump');
|
||||
});
|
||||
});
|
||||
|
||||
describe('A doclet that has a @desc tag', function() {
|
||||
it('should have an `desc` property set to the text of that tag', function() {
|
||||
var doclet = doclets[1].toObject();
|
||||
expect(doclet).to(have_property, 'desc');
|
||||
expect(doclet.desc).to(eql, 'Here is Edward Bear, coming downstairs now, bump, bump, bump');
|
||||
});
|
||||
});
|
||||
|
||||
describe('A doclet that has a @description tag', function() {
|
||||
it('should have an `desc` property set to the text of that tag', function() {
|
||||
var doclet = doclets[2].toObject();
|
||||
expect(doclet).to(have_property, 'desc');
|
||||
expect(doclet.desc).to(eql, 'Here is Edward Bear, coming downstairs now, bump, bump, bump');
|
||||
});
|
||||
});
|
||||
});
|
||||
})();
|
||||
|
||||
(function testarea() {
|
||||
|
||||
/**
|
||||
* Here is Edward Bear, coming downstairs now,
|
||||
* bump,
|
||||
* bump,
|
||||
* bump
|
||||
* @namespace Poo
|
||||
*/
|
||||
|
||||
/**
|
||||
@namespace Bear
|
||||
@desc Here is Edward Bear, coming downstairs now, bump, bump, bump
|
||||
*/
|
||||
|
||||
/**
|
||||
@namespace Winnie
|
||||
@description Here is Edward Bear, coming downstairs now, bump, bump, bump
|
||||
*/
|
||||
|
||||
})();
|
||||
Loading…
x
Reference in New Issue
Block a user