Merge remote-tracking branch 'roramirez_github/develop' into newfeed-unit

This commit is contained in:
Rodrigo Ramírez Norambuena
2017-07-20 00:09:05 -04:00
71 changed files with 1623 additions and 337 deletions

View File

@@ -0,0 +1,36 @@
var fs = require("fs");
var path = require("path");
var chai = require("chai");
var expect = chai.expect;
var vm = require("vm");
describe("Functions into modules/default/calendar/calendar.js", function() {
// Fake for use by calendar.js
Module = {}
Module.definitions = {};
Module.register = function (name, moduleDefinition) {
Module.definitions[name] = moduleDefinition;
};
// load calendar.js
require("../../../modules/default/calendar/calendar.js");
describe("capFirst", function() {
words = {
"rodrigo": "Rodrigo",
"123m": "123m",
"magic mirror": "Magic mirror",
",a": ",a",
"ñandú": "Ñandú"
};
Object.keys(words).forEach(word => {
it(`for ${word} should return ${words[word]}`, function() {
expect(Module.definitions.calendar.capFirst(word)).to.equal(words[word]);
});
});
});
});

View File

@@ -0,0 +1,66 @@
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("Default modules set in modules/default/defaultmodules.js", function() {
var expectedDefaultModules = [
"alert",
"calendar",
"clock",
"compliments",
"currentweather",
"helloworld",
"newsfeed",
"weatherforecast",
"updatenotification"
];
expectedDefaultModules.forEach(defaultModule => {
it(`contains default module "${defaultModule}"`, function() {
expect(this.sandbox.defaultModules).to.include(defaultModule);
});
});
expectedDefaultModules.forEach(defaultModule => {
it(`contains a folder for modules/default/${defaultModule}"`, function() {
expect(fs.existsSync(path.join(this.sandbox.global.root_path, "modules/default", defaultModule))).to.equal(true);
});
});
});

View File

@@ -63,8 +63,8 @@ describe("'global.root_path' set in js/app.js", function() {
});
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);
versionPackage = JSON.parse(fs.readFileSync("package.json", "utf8")).version;
expect(this.sandbox.global.version).to.equal(versionPackage);
});
});