@microsoft/api-extractor
Version:
Validatation, documentation, and auditing for the exported API of a TypeScript package
57 lines (55 loc) • 2.9 kB
JavaScript
/// <reference types="mocha" />
;
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var ApiDefinitionReference_1 = require("../ApiDefinitionReference");
/* 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('ApiDocumentation tests', function () {
this.timeout(10000);
describe('ApiDocumentation internal methods', function () {
var apiReferenceExpr;
var actual;
it('_parseApiReferenceExpression() with scope name', function () {
apiReferenceExpr = '@microsoft/sp-core-library:Guid';
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
chai_1.assert.equal('@microsoft', actual.scopeName);
chai_1.assert.equal('sp-core-library', actual.packageName);
chai_1.assert.equal('Guid', actual.exportName);
chai_1.assert.equal('', actual.memberName);
});
it('_parseApiReferenceExpression() without scope name', function () {
apiReferenceExpr = 'sp-core-library:Guid';
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
chai_1.assert.equal('', actual.scopeName);
chai_1.assert.equal('sp-core-library', actual.packageName);
chai_1.assert.equal('Guid', actual.exportName);
chai_1.assert.equal('', actual.memberName);
});
it('_parseApiReferenceExpression() without scope name and with member name', function () {
apiReferenceExpr = 'sp-core-library:Guid.equals';
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
chai_1.assert.equal('', actual.scopeName);
chai_1.assert.equal('sp-core-library', actual.packageName);
chai_1.assert.equal('Guid', actual.exportName);
chai_1.assert.equal('equals', actual.memberName);
});
it('_parseApiReferenceExpression() without scope name and invalid memberName', function () {
// 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';
var caughtError = false;
try {
actual = ApiDefinitionReference_1.default.createFromString(apiReferenceExpr, console.log);
}
catch (error) {
caughtError = true;
}
chai_1.assert.equal(caughtError, true);
});
});
});
//# sourceMappingURL=ApiDefinitionReference.test.js.map