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

+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);
});
});