UNPKG

@microsoft/api-extractor

Version:

Validatation, documentation, and auditing for the exported API of a TypeScript package

44 lines (42 loc) 1.95 kB
/// <reference types="mocha" /> "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ts = require("typescript"); var path = require("path"); var Extractor_1 = require("../../Extractor"); var ApiJsonGenerator_1 = require("../../generators/ApiJsonGenerator"); var TestFileComparer_1 = require("../../TestFileComparer"); /* tslint:disable:no-function-expression - Mocha uses a poorly scoped "this" pointer */ var capturedErrors = []; function testErrorHandler(message, fileName, lineNumber) { capturedErrors.push({ message: message, fileName: fileName, lineNumber: lineNumber }); } describe('ApiJsonGenerator tests', function () { this.timeout(10000); describe('Basic Tests', function () { it('Example 1', function () { var inputFolder = './testInputs/example2'; var outputFile = './lib/example2-output.json'; var expectedFile = path.join(inputFolder, 'example2-output.json'); var compilerOptions = { target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS, moduleResolution: ts.ModuleResolutionKind.NodeJs, rootDir: inputFolder, typeRoots: ['./'] // We need to ignore @types in these tests }; var extractor = new Extractor_1.default({ compilerOptions: compilerOptions, errorHandler: testErrorHandler }); extractor.loadExternalPackages('./testInputs/external-api-json'); extractor.analyze({ entryPointFile: path.join(inputFolder, 'src/index.ts') }); var apiJsonGenerator = new ApiJsonGenerator_1.default(); apiJsonGenerator.writeJsonFile(outputFile, extractor); TestFileComparer_1.default.assertFileMatchesExpected(outputFile, expectedFile); }); }); }); //# sourceMappingURL=ApiJsonGenerator.test.js.map