2017-01-24 12:22:43 +01:00
|
|
|
var fs = require("fs");
|
|
|
|
var path = require("path");
|
|
|
|
var chai = require("chai");
|
|
|
|
var expect = chai.expect;
|
2017-01-25 22:42:04 +01:00
|
|
|
var vm = require("vm");
|
2017-01-24 12:22:43 +01:00
|
|
|
|
2017-01-25 22:42:04 +01:00
|
|
|
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);
|
|
|
|
};
|
2017-01-25 11:58:20 +01:00
|
|
|
|
2017-01-25 22:42:04 +01:00
|
|
|
vm.runInNewContext(code, this.sandbox, fileName);
|
|
|
|
});
|
|
|
|
|
|
|
|
after(function() {
|
|
|
|
//console.log(global);
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("'global.root_path' set in js/app.js", function() {
|
2017-01-24 12:22:43 +01:00
|
|
|
var expectedSubPaths = [
|
2017-01-25 11:58:20 +01:00
|
|
|
"modules",
|
|
|
|
"serveronly",
|
|
|
|
"js",
|
|
|
|
"js/app.js",
|
|
|
|
"js/main.js",
|
|
|
|
"js/electron.js",
|
|
|
|
"config"
|
2017-01-24 12:22:43 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
expectedSubPaths.forEach(subpath => {
|
2017-01-31 10:37:03 -08:00
|
|
|
it(`contains a file/folder "${subpath}"`, function() {
|
2017-01-25 22:42:04 +01:00
|
|
|
expect(fs.existsSync(path.join(this.sandbox.global.root_path, subpath))).to.equal(true);
|
2017-01-24 12:22:43 +01:00
|
|
|
});
|
|
|
|
});
|
2017-01-25 22:42:04 +01:00
|
|
|
|
|
|
|
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);
|
|
|
|
});
|
2017-02-07 19:35:51 -03:00
|
|
|
|
|
|
|
it("should expect the global.version equals package.json file", function() {
|
|
|
|
version_package = JSON.parse(fs.readFileSync("package.json", "utf8")).version;
|
|
|
|
expect(this.sandbox.global.version).to.equal(version_package);
|
|
|
|
});
|
|
|
|
|
2017-01-24 12:22:43 +01:00
|
|
|
});
|
|
|
|
|