From b6cc4071f67d47596901c01506eeeff138ab059e Mon Sep 17 00:00:00 2001 From: Johannes Ewald Date: Sat, 11 Nov 2017 02:23:18 +0100 Subject: Refactor code --- testLib/ES2015Module.js | 14 ------------ testLib/constModule.js | 13 +++++++++++ testLib/sharedTestCases.js | 57 ++++++++++++---------------------------------- testLib/throwError.js | 5 ++++ 4 files changed, 32 insertions(+), 57 deletions(-) delete mode 100644 testLib/ES2015Module.js create mode 100644 testLib/constModule.js (limited to 'testLib') diff --git a/testLib/ES2015Module.js b/testLib/ES2015Module.js deleted file mode 100644 index 81eba2b..0000000 --- a/testLib/ES2015Module.js +++ /dev/null @@ -1,14 +0,0 @@ - -const someOtherModule = require("./someOtherModule"); -const language = "nl"; - -module.exports.getLang = () => { - return language; -} - -exports.getOtherModuleName = () => { - return someOtherModule.name; -} - -exports.filename = __filename; -exports.dirname = __dirname; diff --git a/testLib/constModule.js b/testLib/constModule.js new file mode 100644 index 0000000..042b797 --- /dev/null +++ b/testLib/constModule.js @@ -0,0 +1,13 @@ +const someOtherModule = require("./someOtherModule"); +const language = "nl"; + +module.exports.getLang = () => { + return language; +} + +exports.getOtherModuleName = () => { + return someOtherModule.name; +} + +exports.filename = __filename; +exports.dirname = __dirname; diff --git a/testLib/sharedTestCases.js b/testLib/sharedTestCases.js index ddb8b04..06dcb11 100644 --- a/testLib/sharedTestCases.js +++ b/testLib/sharedTestCases.js @@ -17,7 +17,7 @@ function checkForTypeError(err) { expect(err.constructor).to.be(TypeError); } -describe("rewire " + (typeof testEnv === "undefined"? "(node)": "(" + testEnv + ")"), function () { +describe(typeof testEnv === "undefined"? "(node)": "(" + testEnv + ")", function () { it("should work like require()", function () { rewire("./moduleA.js").getFilename(); @@ -265,7 +265,7 @@ describe("rewire " + (typeof testEnv === "undefined"? "(node)": "(" + testEnv + throwError(); } catch (err) { if (err.stack) { - expect(err.stack.split("\n")[1]).to.match(/:2:11/); + expect(err.stack.split("\n")[1]).to.match(/:7:11/); } } }); @@ -372,51 +372,22 @@ describe("rewire " + (typeof testEnv === "undefined"? "(node)": "(" + testEnv + revert(); }); - it("Should be possible to mock a const variable using __with__ syntax", function() { - var ES2015Module = rewire("./ES2015Module", { - convertConst: true - }); - - ES2015Module.__with__({ - language: "en" - })(function() { - expect(ES2015Module.getLang()).to.equal("en"); - expect(ES2015Module.getOtherModuleName()).to.equal("somOtherModule"); - }); - }); + it("should be possible to mock a set a const variable using __set__ syntax", function() { + var constModule = rewire("./constModule"); - it("Should be possible to mock a const required variable using __with__ syntax", function() { - var ES2015Module = rewire("./ES2015Module", { - convertConst: true + constModule.__set__("language", "de"); + constModule.__set__("someOtherModule", { + name: "differentModule" }); - - ES2015Module.__with__({ - someOtherModule: { - name: "mocked" - } - })(function() { - expect(ES2015Module.getLang()).to.equal("nl"); - expect(ES2015Module.getOtherModuleName()).to.equal("mocked"); - }); - }); - - it("Should be possible to mock a set a const variable using __set__ syntax", function() { - var ES2015Module = rewire("./ES2015Module", { - convertConst: true - }); - - ES2015Module.__set__("language", "de"); - - expect(ES2015Module.getLang()).to.equal("de"); - - ES2015Module.__set__("language", "nl"); - - expect(ES2015Module.getLang()).to.equal("nl"); + expect(constModule.getLang()).to.equal("de"); + expect(constModule.getOtherModuleName()).to.equal("differentModule"); }) - it("Should have correct __filename and __dirname when mocked using convertConst", function() { - expect(rewire("./ES2015Module", { convertConst: true }).filename).to.equal(require("./ES2015Module").filename); - expect(rewire("./ES2015Module", { convertConst: true }).dirname).to.equal(require("./ES2015Module").dirname); + it("should have correct __filename and __dirname when mocked using convertConst", function() { + var constModule = rewire("./constModule"); + + expect(constModule.filename).to.equal(require("./constModule").filename); + expect(constModule.dirname).to.equal(require("./constModule").dirname); }); }); diff --git a/testLib/throwError.js b/testLib/throwError.js index 9bdf68b..ffb6a71 100644 --- a/testLib/throwError.js +++ b/testLib/throwError.js @@ -1,3 +1,8 @@ +// Using const here because we know that Babel will transform that part +const test = 1; + module.exports = function () { + let test = 1; + throw new Error(); }; -- cgit v1.2.3