22// IT IS INVOKED BY THE "Run.cmd" AND "Debug.cmd" BATCH FILES.
33
44import * as ts from 'typescript' ;
5+ import * as os from 'os' ;
56import Analyzer from './Analyzer' ;
67import ApiFileGenerator from './generators/ApiFileGenerator' ;
78import ApiJsonGenerator from './generators/ApiJsonGenerator' ;
8- import { IDocItem } from './IDocItem' ;
9- import { IApiDefinitionReference } from './IApiDefinitionReference' ;
10- import { IDocElement , IParam } from './IDocElement' ;
11- import DocItemLoader from './DocItemLoader' ;
12- import DocElementParser from './DocElementParser' ;
13- import TestFileComparer from './TestFileComparer' ;
14- import JsonFile from './JsonFile' ;
15- import ApiStructuredType from './definitions/ApiStructuredType' ;
16- import ApiDocumentation from './definitions/ApiDocumentation' ;
17- import Tokenizer from './Tokenizer' ;
189
19- let docs : string = '{@link @microsoft/sp-core-library:Guid.equals | Guid equals}' ;
20- let tokenizer : Tokenizer = new Tokenizer ( docs , console . log ) ;
21- /* tslint:disable:no-unused-variable */
22- const linkResult : IDocElement [ ] = DocElementParser . parse ( tokenizer , console . log ) ;
23-
24- const analyzer : Analyzer = new Analyzer ( ) ;
25-
26- /**
27- * Dummy class wrapping ApiDocumentation to test its protected methods
28- */
29- let myDocumentedClass : ApiStructuredType ;
30- class TestApiDocumentation extends ApiDocumentation {
31- constructor ( ) {
32- super ( myDocumentedClass , analyzer . docItemLoader , ( msg : string ) => { return ; } ) ;
33- }
34-
35- public parseParam ( _tokenizer : Tokenizer ) : IParam {
36- return this . _parseParam ( _tokenizer ) ;
10+ const analyzer : Analyzer = new Analyzer (
11+ ( message : string , fileName : string , lineNumber : number ) : void => {
12+ console . log ( `ErrorHandler: ${ message } ` + os . EOL
13+ + ` ${ fileName } #${ lineNumber } ` ) ;
3714 }
38- }
15+ ) ;
3916
4017/**
41- * Debugging inheritdoc expression parser.
18+ * Debugging inheritdoc expression parser.
4219 * Analyzer on example2 is needed for testing the parser.
4320 */
4421analyzer . analyze ( {
@@ -48,9 +25,9 @@ analyzer.analyze({
4825 moduleResolution : ts . ModuleResolutionKind . NodeJs ,
4926 experimentalDecorators : true ,
5027 jsx : ts . JsxEmit . React ,
51- rootDir : './testInputs/example2 '
28+ rootDir : 'D:/GitRepos/sp-client/spfx-core/sp-codepart-base '
5229 } ,
53- entryPointFile : './testInputs/example2/index.ts' , // local/bundles/platform-exports .ts',
30+ entryPointFile : 'D:/GitRepos/sp-client/spfx-core/sp-codepart-base/src/index .ts' ,
5431 otherFiles : [ ]
5532} ) ;
5633
@@ -60,57 +37,4 @@ apiFileGenerator.writeApiFile('./lib/DebugRun.api.ts', analyzer);
6037const apiJsonGenerator : ApiJsonGenerator = new ApiJsonGenerator ( ) ;
6138apiJsonGenerator . writeJsonFile ( './lib/DebugRun.json' , analyzer ) ;
6239
63- myDocumentedClass = analyzer . package . getSortedMemberItems ( )
64- . filter ( apiItem => apiItem . name === 'MyDocumentedClass' ) [ 0 ] as ApiStructuredType ;
65- const apiDoc : TestApiDocumentation = new TestApiDocumentation ( ) ;
66-
67- docs = '@param x - The height in {@link http://wikipedia.org/pixel_units}' ;
68- tokenizer = new Tokenizer ( docs , console . log ) ;
69- // ApiDocumentation gets the @param token before calling parseParam()
70- tokenizer . getToken ( ) ;
71- apiDoc . parseParam ( tokenizer ) ;
72-
73- /**
74- * Put test cases here
75- */
76- let apiReferenceExpr : string = '@microsoft/sp-core-library:Guid.equals' ;
77- let actual : IApiDefinitionReference ;
78- actual = ApiDocumentation . parseApiReferenceExpression ( apiReferenceExpr , apiDoc . reportError ) ;
79-
80- apiReferenceExpr = '@microsoft/sp-core-library:Guid' ;
81- actual = ApiDocumentation . parseApiReferenceExpression ( apiReferenceExpr , apiDoc . reportError ) ;
82-
83- apiReferenceExpr = 'sp-core-library:Guid' ;
84- actual = ApiDocumentation . parseApiReferenceExpression ( apiReferenceExpr , apiDoc . reportError ) ;
85-
86- apiReferenceExpr = 'Guid.equals' ;
87- actual = ApiDocumentation . parseApiReferenceExpression ( apiReferenceExpr , apiDoc . reportError ) ;
88-
89- apiReferenceExpr = 'Guid' ;
90- actual = ApiDocumentation . parseApiReferenceExpression ( apiReferenceExpr , apiDoc . reportError ) ;
91-
92- // Should report error
93- apiReferenceExpr = 'sp-core-library:Guid:equals' ;
94- try {
95- actual = ApiDocumentation . parseApiReferenceExpression ( apiReferenceExpr , apiDoc . reportError ) ;
96- } catch ( error ) {
97- console . log ( error ) ;
98- }
99-
100- /**
101- * Debugging DocItemLoader
102- */
103- const apiDefinitionRef : IApiDefinitionReference = {
104- scopeName : '@microsoft' ,
105- packageName : 'sp-core-library' ,
106- exportName : 'DisplayMode' ,
107- memberName : ''
108- } ;
109-
110- const docItemLoader : DocItemLoader = new DocItemLoader ( './testInputs/example2' ) ;
111- /* tslint:disable:no-unused-variable */
112- const apiDocItemNotInCache : IDocItem = docItemLoader . getItem ( apiDefinitionRef ) ;
113- JsonFile . saveJsonFile ( './lib/inheritedDoc-output.json' , JSON . stringify ( apiDocItemNotInCache ) ) ;
114- TestFileComparer . assertFileMatchesExpected ( './lib/inheritedDoc-output.json' , './testInputs/inheritedDoc-output.json' ) ;
115- /* tslint:disable:no-unused-variable */
116- const apiDocItemInCache : IDocItem = docItemLoader . getItem ( apiDefinitionRef ) ;
40+ console . log ( 'DebugRun completed.' ) ;
0 commit comments