chore(doc-gen): add some tests for typescript-definition-package
This commit is contained in:
parent
09bb114a4d
commit
4d80ce5b4a
|
@ -29,7 +29,7 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
|
||||||
renderDocsProcessor.extraData.versionInfo = versionInfo;
|
renderDocsProcessor.extraData.versionInfo = versionInfo;
|
||||||
})
|
})
|
||||||
|
|
||||||
.config(function(readFilesProcessor, inlineTagProcessor, readTypeScriptModules) {
|
.config(function(readFilesProcessor, inlineTagProcessor, readTypeScriptModules, createTypeDefinitionFile) {
|
||||||
|
|
||||||
// Don't run unwanted processors
|
// Don't run unwanted processors
|
||||||
readFilesProcessor.$enabled = false; // We are not using the normal file reading processor
|
readFilesProcessor.$enabled = false; // We are not using the normal file reading processor
|
||||||
|
@ -42,6 +42,21 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
|
||||||
'angular2/router.ts'
|
'angular2/router.ts'
|
||||||
];
|
];
|
||||||
readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../modules'));
|
readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../modules'));
|
||||||
|
|
||||||
|
createTypeDefinitionFile.typeDefinitions = [
|
||||||
|
{
|
||||||
|
id: 'angular2/angular2',
|
||||||
|
modules: {
|
||||||
|
'angular2/angular2': 'angular2/angular2',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'angular2/router',
|
||||||
|
modules: {
|
||||||
|
'angular2/router': 'angular2/router'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
var Package = require('dgeni').Package;
|
||||||
|
|
||||||
|
module.exports = function mockPackage() {
|
||||||
|
|
||||||
|
return new Package('mockPackage', [require('../')])
|
||||||
|
|
||||||
|
// provide a mock log service
|
||||||
|
.factory('log', function() { return require('dgeni/lib/mocks/log')(false); })
|
||||||
|
// .factory('templateEngine', function() { return {}; });
|
||||||
|
|
||||||
|
};
|
|
@ -13,20 +13,7 @@ module.exports = function createTypeDefinitionFile(log) {
|
||||||
},
|
},
|
||||||
dtsPath: 'typings',
|
dtsPath: 'typings',
|
||||||
dtsExtension: '.d.ts',
|
dtsExtension: '.d.ts',
|
||||||
typeDefinitions: [
|
typeDefinitions: [],
|
||||||
{
|
|
||||||
id: 'angular2/angular2',
|
|
||||||
modules: {
|
|
||||||
'angular2/angular2': 'angular2/angular2',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'angular2/router',
|
|
||||||
modules: {
|
|
||||||
'angular2/router': 'angular2/router'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
$process: function(docs) {
|
$process: function(docs) {
|
||||||
var dtsPath = this.dtsPath;
|
var dtsPath = this.dtsPath;
|
||||||
var dtsExtension = this.dtsExtension;
|
var dtsExtension = this.dtsExtension;
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
var mockPackage = require('../mocks/mockPackage');
|
||||||
|
var Dgeni = require('dgeni');
|
||||||
|
var path = require('canonical-path');
|
||||||
|
var _ = require('lodash');
|
||||||
|
|
||||||
|
describe('createTypeDefinitionFile processor', function() {
|
||||||
|
var dgeni, injector, processor;
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
dgeni = new Dgeni([mockPackage()]);
|
||||||
|
injector = dgeni.configureInjector();
|
||||||
|
processor = injector.get('createTypeDefinitionFile');
|
||||||
|
|
||||||
|
// Initialize the processor
|
||||||
|
processor.typeDefinitions = [{
|
||||||
|
id: 'angular2/angular2',
|
||||||
|
modules: { 'angular2/angular2': 'angular2/angular2' }
|
||||||
|
}];
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
describe('classes with private constructors', function() {
|
||||||
|
|
||||||
|
it('should convert heritage from `implements` into `extends`', function() {
|
||||||
|
|
||||||
|
// Create some mock docs for testing
|
||||||
|
var docs = [
|
||||||
|
{
|
||||||
|
id: 'angular2/angular2',
|
||||||
|
exports: [
|
||||||
|
{ docType: 'class', heritage: 'implements Xyz', constructorDoc: { private: true } }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
docs = processor.$process(docs);
|
||||||
|
|
||||||
|
expect(docs.length).toEqual(1);
|
||||||
|
expect(docs[0].docType).toEqual('type-definition');
|
||||||
|
|
||||||
|
var moduleDoc = docs[0].moduleDocs['angular2/angular2'].doc;
|
||||||
|
expect(moduleDoc.exports.length).toEqual(2);
|
||||||
|
expect(moduleDoc.exports[0].heritage).toEqual('extends Xyz');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
Loading…
Reference in New Issue