mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-11 23:04:52 +09:00
Tests, 90% coverage
This commit is contained in:
1 parent
a7fcde60b8
commit
dbf209de61
3 files changed
+23
-1
No files matched your search
+1
-1
@@ -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"
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user