@microsoft/api-extractor
Version:
Validate, document, and review the exported API for a TypeScript library
54 lines (52 loc) • 2.77 kB
JavaScript
;
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
// See LICENSE in the project root for license information.
Object.defineProperty(exports, "__esModule", { value: true });
const ApiDefinitionReference_1 = require("../ApiDefinitionReference");
/* tslint:disable:no-function-expression - Mocha uses a poorly scoped "this" pointer */
let capturedErrors = [];
function clearCapturedErrors() {
capturedErrors = [];
}
function assertCapturedErrors(expectedMessages) {
expect(capturedErrors.map(x => x.message)).toEqual(expectedMessages);
}
describe('ApiDocumentation tests', function () {
describe('ApiDocumentation internal methods', function () {
let apiReferenceExpr;
let actual;
it('_parseApiReferenceExpression() with scope name', function () {
apiReferenceExpr = '@microsoft/sp-core-library:Guid';
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
expect(actual.scopeName).toBe('@microsoft');
expect(actual.packageName).toBe('sp-core-library');
expect(actual.exportName).toBe('Guid');
expect(actual.memberName).toBe('');
});
it('_parseApiReferenceExpression() without scope name', function () {
apiReferenceExpr = 'sp-core-library:Guid';
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
expect(actual.scopeName).toBe('');
expect(actual.packageName).toBe('sp-core-library');
expect(actual.exportName).toBe('Guid');
expect(actual.memberName).toBe('');
});
it('_parseApiReferenceExpression() without scope name and with member name', function () {
apiReferenceExpr = 'sp-core-library:Guid.equals';
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
expect(actual.scopeName).toBe('');
expect(actual.packageName).toBe('sp-core-library');
expect(actual.exportName).toBe('Guid');
expect(actual.memberName).toBe('equals');
});
it('_parseApiReferenceExpression() without scope name and invalid memberName', function () {
clearCapturedErrors();
// This won't raise an error (based on our current decision to only show warnings in the *.api.ts
// files if we can't find a reference)
apiReferenceExpr = 'sp-core-library:Guid:equals';
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
assertCapturedErrors([]);
});
});
});
//# sourceMappingURL=ApiDefinitionReference.test.js.map