MagicMirror/tests/unit/global_vars/root_path_spec.js

65 lines
1.7 KiB
JavaScript
Raw Normal View History

2017-01-24 12:22:43 +01:00
var fs = require("fs");
var path = require("path");
2019-06-04 10:43:06 +02:00
var expect = require("chai").expect;
2017-01-25 22:42:04 +01:00
var vm = require("vm");
2017-01-24 12:22:43 +01:00
before(function () {
2017-01-25 22:42:04 +01:00
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, ")");*/
}
2017-01-25 22:42:04 +01:00
},
process: {
on: function () {
/*console.log("process.on called with: ", arguments);*/
},
2017-01-25 22:42:04 +01:00
env: {}
}
};
this.sandbox.require = function (filename) {
2017-01-25 22:42:04 +01:00
// 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 () {
2017-01-25 22:42:04 +01:00
//console.log(global);
});
describe("'global.root_path' set in js/app.js", function () {
var expectedSubPaths = ["modules", "serveronly", "js", "js/app.js", "js/main.js", "js/electron.js", "config"];
2017-01-24 12:22:43 +01:00
expectedSubPaths.forEach((subpath) => {
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 () {
2017-01-25 22:42:04 +01:00
expect(global.root_path).to.equal(undefined);
});
it("should not modify global.version for testing", function () {
2017-01-25 22:42:04 +01:00
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 () {
const versionPackage = JSON.parse(fs.readFileSync("package.json", "utf8")).version;
expect(this.sandbox.global.version).to.equal(versionPackage);
2017-02-07 19:35:51 -03:00
});
2017-01-24 12:22:43 +01:00
});