Skip to content

Commit 4d80ce5

Browse files
chore(doc-gen): add some tests for typescript-definition-package
1 parent 09bb114 commit 4d80ce5

File tree

4 files changed

+76
-15
lines changed

4 files changed

+76
-15
lines changed

docs/typescript-definition-package/index.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
2929
renderDocsProcessor.extraData.versionInfo = versionInfo;
3030
})
3131

32-
.config(function(readFilesProcessor, inlineTagProcessor, readTypeScriptModules) {
32+
.config(function(readFilesProcessor, inlineTagProcessor, readTypeScriptModules, createTypeDefinitionFile) {
3333

3434
// Don't run unwanted processors
3535
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,
4242
'angular2/router.ts'
4343
];
4444
readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../modules'));
45+
46+
createTypeDefinitionFile.typeDefinitions = [
47+
{
48+
id: 'angular2/angular2',
49+
modules: {
50+
'angular2/angular2': 'angular2/angular2',
51+
}
52+
},
53+
{
54+
id: 'angular2/router',
55+
modules: {
56+
'angular2/router': 'angular2/router'
57+
}
58+
}
59+
];
4560
})
4661

4762

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
var Package = require('dgeni').Package;
2+
3+
module.exports = function mockPackage() {
4+
5+
return new Package('mockPackage', [require('../')])
6+
7+
// provide a mock log service
8+
.factory('log', function() { return require('dgeni/lib/mocks/log')(false); })
9+
// .factory('templateEngine', function() { return {}; });
10+
11+
};

docs/typescript-definition-package/processors/createTypeDefinitionFile.js

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,7 @@ module.exports = function createTypeDefinitionFile(log) {
1313
},
1414
dtsPath: 'typings',
1515
dtsExtension: '.d.ts',
16-
typeDefinitions: [
17-
{
18-
id: 'angular2/angular2',
19-
modules: {
20-
'angular2/angular2': 'angular2/angular2',
21-
}
22-
},
23-
{
24-
id: 'angular2/router',
25-
modules: {
26-
'angular2/router': 'angular2/router'
27-
}
28-
}
29-
],
16+
typeDefinitions: [],
3017
$process: function(docs) {
3118
var dtsPath = this.dtsPath;
3219
var dtsExtension = this.dtsExtension;
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
var mockPackage = require('../mocks/mockPackage');
2+
var Dgeni = require('dgeni');
3+
var path = require('canonical-path');
4+
var _ = require('lodash');
5+
6+
describe('createTypeDefinitionFile processor', function() {
7+
var dgeni, injector, processor;
8+
9+
beforeEach(function() {
10+
dgeni = new Dgeni([mockPackage()]);
11+
injector = dgeni.configureInjector();
12+
processor = injector.get('createTypeDefinitionFile');
13+
14+
// Initialize the processor
15+
processor.typeDefinitions = [{
16+
id: 'angular2/angular2',
17+
modules: { 'angular2/angular2': 'angular2/angular2' }
18+
}];
19+
});
20+
21+
22+
23+
describe('classes with private constructors', function() {
24+
25+
it('should convert heritage from `implements` into `extends`', function() {
26+
27+
// Create some mock docs for testing
28+
var docs = [
29+
{
30+
id: 'angular2/angular2',
31+
exports: [
32+
{ docType: 'class', heritage: 'implements Xyz', constructorDoc: { private: true } }
33+
]
34+
}
35+
];
36+
37+
docs = processor.$process(docs);
38+
39+
expect(docs.length).toEqual(1);
40+
expect(docs[0].docType).toEqual('type-definition');
41+
42+
var moduleDoc = docs[0].moduleDocs['angular2/angular2'].doc;
43+
expect(moduleDoc.exports.length).toEqual(2);
44+
expect(moduleDoc.exports[0].heritage).toEqual('extends Xyz');
45+
});
46+
});
47+
48+
});

0 commit comments

Comments
 (0)