diff --git a/tests/unit/global_vars/root_path_spec.js b/tests/unit/global_vars/root_path_spec.js index f21d3e44..3da29be1 100644 --- a/tests/unit/global_vars/root_path_spec.js +++ b/tests/unit/global_vars/root_path_spec.js @@ -2,10 +2,42 @@ var fs = require("fs"); var path = require("path"); var chai = require("chai"); var expect = chai.expect; +var vm = require("vm"); + +before(function() { + var basedir = path.join(__dirname, "../../.."); + + var fileName = "js/app.js"; + var filePath = path.join(basedir, fileName); + var code = fs.readFileSync(filePath); + + this.sandbox = { + module: {}, + __dirname: path.dirname(filePath), + global: {}, + console: { + log: function() { /*console.log("console.log(", arguments, ")");*/ } + }, + process: { + on: function() { /*console.log("process.on called with: ", arguments);*/ }, + env: {} + } + }; + + this.sandbox.require = function(filename) { + // This modifies the global slightly, + // but supplies vm with essential code + return require(filename); + }; + + vm.runInNewContext(code, this.sandbox, fileName); +}); + +after(function() { + //console.log(global); +}); describe("'global.root_path' set in js/app.js", function() { - var appMM = require("../../../js/app.js") - var expectedSubPaths = [ "modules", "serveronly", @@ -18,8 +50,16 @@ describe("'global.root_path' set in js/app.js", function() { expectedSubPaths.forEach(subpath => { it(`contains a file/folder "${subpath}"`, function() { - expect(fs.existsSync(path.join(global.root_path, subpath))).to.equal(true); + expect(fs.existsSync(path.join(this.sandbox.global.root_path, subpath))).to.equal(true); }); }); + + it("should not modify global.root_path for testing", function() { + expect(global.root_path).to.equal(undefined); + }); + + it("should not modify global.version for testing", function() { + expect(global.version).to.equal(undefined); + }); });