Skip to content

Commit

Permalink
chore(doc-gen): add some tests for typescript-definition-package
Browse files Browse the repository at this point in the history
  • Loading branch information
petebacondarwin committed Jul 12, 2015
1 parent 09bb114 commit 4d80ce5
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 15 deletions.
17 changes: 16 additions & 1 deletion docs/typescript-definition-package/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
renderDocsProcessor.extraData.versionInfo = versionInfo;
})

.config(function(readFilesProcessor, inlineTagProcessor, readTypeScriptModules) {
.config(function(readFilesProcessor, inlineTagProcessor, readTypeScriptModules, createTypeDefinitionFile) {

// Don't run unwanted processors
readFilesProcessor.$enabled = false; // We are not using the normal file reading processor
Expand All @@ -42,6 +42,21 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
'angular2/router.ts'
];
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'
}
}
];
})


Expand Down
11 changes: 11 additions & 0 deletions docs/typescript-definition-package/mocks/mockPackage.js
Original file line number Diff line number Diff line change
@@ -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 {}; });

};
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,7 @@ module.exports = function createTypeDefinitionFile(log) {
},
dtsPath: 'typings',
dtsExtension: '.d.ts',
typeDefinitions: [
{
id: 'angular2/angular2',
modules: {
'angular2/angular2': 'angular2/angular2',
}
},
{
id: 'angular2/router',
modules: {
'angular2/router': 'angular2/router'
}
}
],
typeDefinitions: [],
$process: function(docs) {
var dtsPath = this.dtsPath;
var dtsExtension = this.dtsExtension;
Expand Down
Original file line number Diff line number Diff line change
@@ -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');
});
});

});

0 comments on commit 4d80ce5

Please sign in to comment.