iflrandevu/rsc/scripts/jsdoc/test/specs/documentation/lends.js
2013-07-02 17:20:39 +00:00

71 lines
No EOL
2.9 KiB
JavaScript

describe("lends", function() {
describe("when a documented member is inside an object literal associate with a @lends tag", function() {
describe("standard case", function() {
var docSet = jasmine.getDocSetFromFile('test/fixtures/lends.js'),
init = docSet.getByLongname('Person#initialize'),
name = docSet.getByLongname('Person#name');
it("The member should be documented as a member of the lendee", function() {
expect(init.length, 1);
});
it("The this member should be documented as a member of the lendee", function() {
expect(name.length, 1);
});
});
describe("case containg constructor", function() {
var docSet = jasmine.getDocSetFromFile('test/fixtures/lends2.js'),
person = docSet.getByLongname('Person').filter(function($) {
return ! $.undocumented;
})[0],
name = docSet.getByLongname('Person#name');
it("A tag with a @constructs tag is documented as a constructor.", function() {
expect(person.description).toEqual('Construct a Person.');
});
it("The member should be documented as a member of the lendee", function() {
expect(person.length, 1);
});
it("The this member should be documented as a member of the lendee", function() {
expect(name.length, 1);
});
});
describe("case that uses @lends in a multiline doclet", function() {
var docSet = jasmine.getDocSetFromFile('test/fixtures/lends3.js'),
init = docSet.getByLongname('Person#initialize'),
name = docSet.getByLongname('Person#name');
it("The member should be documented as a member of the lendee", function() {
expect(init.length, 1);
});
it("The this member should be documented as a member of the lendee", function() {
expect(name.length, 1);
});
});
});
describe("when a documented member is inside an objlit associated with a @lends tag that has no value.", function() {
var docSet = jasmine.getDocSetFromFile('test/fixtures/lendsglobal.js'),
testf = docSet.getByLongname('test')[0],
test1 = docSet.getByLongname('test1')[0],
test12 = docSet.getByLongname('test1.test2')[0];
it("The members of the objlit are not members of any symbol", function() {
expect(typeof testf.memberof).toEqual('undefined');
});
it("The members of the objlit are documented as global.", function() {
expect(testf.longname).toEqual('test');
});
it("The nested members of the objlit are members of a global symbol", function() {
expect(test12.memberof).toEqual('test1');
});
});
});