ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
34 lines (32 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ts = require("typescript");
const chai_1 = require("chai");
const testHelpers_1 = require("./../testHelpers");
describe("QualifiedName", () => {
function getQualifiedName(text) {
const { sourceFile } = testHelpers_1.getInfoFromText(text);
const typeRefNode = sourceFile.getVariableDeclarations()[0].getTypeNodeOrThrow();
const qualifiedName = typeRefNode.getTypeName();
chai_1.expect(qualifiedName.getKind()).to.equal(ts.SyntaxKind.QualifiedName);
return qualifiedName;
}
describe("getRight", () => {
it("should get the identifier on the right", () => {
const qualifiedName = getQualifiedName("const t: Some.Qualified.Name<string>");
chai_1.expect(qualifiedName.getRight().getText()).to.equal("Name");
});
});
describe("getLeft", () => {
it("should get the qualified name on the left while it lasts", () => {
const qualifiedName = getQualifiedName("const t: Some.Qualified.Name<string>");
chai_1.expect(qualifiedName.getLeft().getText()).to.equal("Some.Qualified");
const leftQualifiedName = qualifiedName.getLeft();
chai_1.expect(leftQualifiedName.getRight().getText()).to.equal("Qualified");
chai_1.expect(leftQualifiedName.getRight().getKind()).to.equal(ts.SyntaxKind.Identifier);
chai_1.expect(leftQualifiedName.getLeft().getText()).to.equal("Some");
chai_1.expect(leftQualifiedName.getLeft().getKind()).to.equal(ts.SyntaxKind.Identifier);
});
});
});
//# sourceMappingURL=qualifiedNameTests.js.map