UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

54 lines (52 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); const compiler_1 = require("./../../../../compiler"); const testHelpers_1 = require("./../../testHelpers"); function getInfoFromTextWithFirstMember(text = "enum MyEnum { myMember }") { const obj = testHelpers_1.getInfoFromText(text); const firstEnumMember = obj.firstChild.getMembers()[0]; return Object.assign({}, obj, { firstEnumMember }); } describe("PropertyNamedNode", () => { describe("rename", () => { function throwTest(text) { const { firstEnumMember } = getInfoFromTextWithFirstMember(); chai_1.expect(() => firstEnumMember.rename(text)).to.throw(); } it("should set the name and rename any referenced nodes", () => { const { firstEnumMember, sourceFile } = getInfoFromTextWithFirstMember("enum MyEnum { myMember }\nlet myEnumMember = MyEnum.myMember;"); firstEnumMember.rename("myNewMember"); chai_1.expect(sourceFile.getFullText()).to.equal("enum MyEnum { myNewMember }\nlet myEnumMember = MyEnum.myNewMember;"); }); it("should throw if null", () => { throwTest(null); }); it("should throw if empty string", () => { throwTest(""); }); it("should throw if whitespace", () => { throwTest(" "); }); it("should throw if a number", () => { throwTest(4); }); }); describe("getName", () => { const { firstEnumMember } = getInfoFromTextWithFirstMember(); it("should get the name", () => { chai_1.expect(firstEnumMember.getName()).to.equal("myMember"); }); }); describe("getNameIdentifier", () => { const { firstEnumMember } = getInfoFromTextWithFirstMember(); const nameNode = firstEnumMember.getNameIdentifier(); it("should have correct text", () => { chai_1.expect(nameNode.getText()).to.equal("myMember"); }); it("should be of correct instance", () => { chai_1.expect(nameNode).to.be.instanceOf(compiler_1.Identifier); }); }); }); //# sourceMappingURL=propertyNamedNodeTests.js.map