allow interfaces to augment other interfaces (#897)

This commit is contained in:
Jeff Williams 2015-01-29 16:10:47 -08:00
parent 930cc2c473
commit 80bce1db42
2 changed files with 11 additions and 2 deletions

View File

@ -14,7 +14,7 @@ function mapDependencies(index, propertyName) {
var dependencies = {};
var doc;
var doclets;
var kinds = ['class', 'external', 'mixin'];
var kinds = ['class', 'external', 'interface', 'mixin'];
var len = 0;
Object.keys(index).forEach(function(indexName) {
@ -175,7 +175,7 @@ function getInheritedAdditions(doclets, docs, documented) {
doc = doclets[i];
parents = doc.augments;
if (parents && doc.kind === 'class') {
if ( parents && (doc.kind === 'class' || doc.kind === 'interface') ) {
// reset the lookup table of added doclet indexes by longname
additionIndexes = {};

View File

@ -6,6 +6,7 @@
var docSet3 = jasmine.getDocSetFromFile('test/fixtures/augmentstag3.js');
var docSet4 = jasmine.getDocSetFromFile('test/fixtures/augmentstag4.js');
var docSet5 = jasmine.getDocSetFromFile('test/fixtures/augmentstag5.js');
var docSet6 = jasmine.getDocSetFromFile('test/fixtures/augmentstag6.js');
it('When a symbol has an @augments tag, the doclet has a augments property that includes that value.', function() {
var bar = docSet.getByLongname('Bar')[0];
@ -163,4 +164,12 @@
expect(classCommonMethod.length).toBe(1);
expect(classCommonMethod[0].description).toBe(base1CommonMethod.description);
});
it('Interfaces can augment other interfaces', function() {
var connectionOpen = docSet6.getByLongname('IConnection#open')[0];
var closableConnectionOpen = docSet6.getByLongname('IClosableConnection#open')[0];
expect(closableConnectionOpen).toBeDefined();
expect(closableConnectionOpen.description).toBe(connectionOpen.description);
});
});