Tests, 90% coverage

This commit is contained in:
Danielv123 committed 2017-06-06 11:12:05 +02:00
1 parent a7fcde60b8
commit dbf209de61
3 files changed
+23 -1

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@
"test": "npm run test-unit",
"test-unit": "mocha --recursive \"./{,!(node_modules)/**/}*.spec.js\" || echo .",
"start": "echo Run node client.js start [instance] to start slaves && node master.js",
"cover": "./node_modules/.bin/istanbul cover ./node_modules/mocha/bin/_mocha -- lib/*.js -R spec"
"cover": "./node_modules/.bin/istanbul cover ./node_modules/mocha/bin/_mocha -- \"./{,!(node_modules)/**/}*.spec.js\" -R spec"
},
"keywords": [
"factorio"
+2
View File
@@ -1,9 +1,11 @@
module.exports = function(x){
if(x === false || x === true || x === null) return true; // === false is valid JSON, so is true and null
var isNotJson = false
try{
z = JSON.parse(x);
} catch (e) {
isNotJson = true;
}
return !isNotJson;
}
@@ -0,0 +1,20 @@
const isJson = require("./isJson");
const assert = require("assert");
describe("isJson.js()", function(){
it("checks if a thing is valid JSON", function(){
assert(isJson("string") === false);
assert(isJson("{js_object_notation='very false'}") === false);
assert(isJson('{ "name":"John", "age":31, "city":"New York" }') === true);
});
it("recognizes that true and false are both valid JSON", function(){
assert(isJson(true) === true);
assert(isJson(false) === true);
});
it("Handles null as valid JSON (after spec)", function(){
assert(isJson(null) === true);
});
it("Recognizes that JSON doesn't allow trailing commas (,)", function(){
assert(isJson('["a", "b", ]') === false);
});
});