From 4dabec6a48df043f08e72d6a2892bc8e482998c3 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Wed, 3 May 2017 22:45:36 +0100 Subject: [PATCH] build(aio): compute search title for certain API docs --- .../processors/computeSearchTitle.js | 11 +++- .../processors/computeSearchTitle.spec.js | 53 +++++++++---------- 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.js b/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.js index 697d3e6cc4..6ea06a0229 100644 --- a/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.js +++ b/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.js @@ -3,7 +3,16 @@ module.exports = function computeSearchTitleProcessor() { $runAfter: ['ids-computed'], $runBefore: ['generateKeywordsProcessor'], $process(docs) { - + docs.forEach(doc => { + switch(doc.docType) { + case 'function': + doc.searchTitle = `${doc.name}()`; + break; + case 'module': + doc.searchTitle = `${doc.id} package`; + break; + } + }); } }; }; diff --git a/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.spec.js b/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.spec.js index 65d230bb85..d90b707b50 100644 --- a/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.spec.js +++ b/aio/tools/transforms/angular-api-package/processors/computeSearchTitle.spec.js @@ -2,7 +2,7 @@ const testPackage = require('../../helpers/test-package'); const processorFactory = require('./computeSearchTitle'); const Dgeni = require('dgeni'); -fdescribe('computeSearchTitle processor', () => { +describe('computeSearchTitle processor', () => { it('should be available on the injector', () => { const dgeni = new Dgeni([testPackage('angular-api-package')]); @@ -21,39 +21,34 @@ fdescribe('computeSearchTitle processor', () => { expect(processor.$runBefore).toEqual(['generateKeywordsProcessor']); }); - it('should compute a search title for class-like docs', () => { + it('should compute a search title for API docs', () => { const processor = processorFactory(); const docs = [ { docType: 'class', name: 'MyClass' }, { docType: 'interface', name: 'MyInterface' }, - { docType: 'pipe', name: 'MyPipe', pipeOptions: { name: 'myPipe' } } + { docType: 'enum', name: 'MyEnum' }, + { docType: 'function', name: 'myFunction' }, + { docType: 'pipe', name: 'MyPipe', pipeOptions: { name: 'myPipe' } }, + { docType: 'directive', name: 'MyDirective', directiveOptions: {} }, + { docType: 'decorator', name: 'MyDecorator' }, + { docType: 'module', name: 'myModule', id: 'some/myModule' }, + { docType: 'var', name: 'myVar' }, + { docType: 'let', name: 'myLet' }, + { docType: 'const', name: 'myConst' }, + { docType: 'type-alias', name: 'myType' }, ]; processor.$process(docs); - expect(docs[0].searchTitle).toEqual('class MyClass'); - expect(docs[0].searchTitle).toEqual('interface MyInterface'); - expect(docs[0].searchTitle).toEqual('myPipe (pipe)'); + expect(docs[0].searchTitle).toBeUndefined(); + expect(docs[1].searchTitle).toBeUndefined(); + expect(docs[2].searchTitle).toBeUndefined(); + expect(docs[3].searchTitle).toEqual('myFunction()'); + expect(docs[4].searchTitle).toBeUndefined(); + expect(docs[5].searchTitle).toBeUndefined(); + expect(docs[6].searchTitle).toBeUndefined(); + expect(docs[7].searchTitle).toEqual('some/myModule package'); + expect(docs[8].searchTitle).toBeUndefined(); + expect(docs[9].searchTitle).toBeUndefined(); + expect(docs[10].searchTitle).toBeUndefined(); + expect(docs[11].searchTitle).toBeUndefined(); }); - - it('should compute a class search title', () => { - const processor = processorFactory(); - const docs = [ - { docType: 'class', name: 'MyClass' } - ]; - processor.$process(docs); - expect(docs[0].searchTitle).toEqual('class MyClass'); - }); - }); - - - - // 'decorator', - // 'directive', - // 'module' - // 'function', - // 'var', - // 'const', - // 'let', - // 'enum', - // 'type-alias', - // 'value-module' \ No newline at end of file