diff options
author | Jared Wasinger <j-wasinger@hotmail.com> | 2017-07-04 16:45:52 +0800 |
---|---|---|
committer | Ubuntu <ubuntu@ip-172-31-32-43.us-west-2.compute.internal> | 2017-08-08 04:41:46 +0800 |
commit | 6e8afe6563febbf3f54ab0702aba7056eca762f0 (patch) | |
tree | 568f1db52846bf1cf5f64f6d480bdd377838c719 /JSONSchema/validate.js | |
parent | 04350351733b1441a2b11502e674b16dd6c47659 (diff) | |
download | dexon-tests-6e8afe6563febbf3f54ab0702aba7056eca762f0.tar dexon-tests-6e8afe6563febbf3f54ab0702aba7056eca762f0.tar.gz dexon-tests-6e8afe6563febbf3f54ab0702aba7056eca762f0.tar.bz2 dexon-tests-6e8afe6563febbf3f54ab0702aba7056eca762f0.tar.lz dexon-tests-6e8afe6563febbf3f54ab0702aba7056eca762f0.tar.xz dexon-tests-6e8afe6563febbf3f54ab0702aba7056eca762f0.tar.zst dexon-tests-6e8afe6563febbf3f54ab0702aba7056eca762f0.zip |
add "explanation" field. Reduce number of schema errors
Diffstat (limited to 'JSONSchema/validate.js')
-rwxr-xr-x | JSONSchema/validate.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/JSONSchema/validate.js b/JSONSchema/validate.js new file mode 100755 index 000000000..368d28da2 --- /dev/null +++ b/JSONSchema/validate.js @@ -0,0 +1,50 @@ +#! /bin/env node + +var validate = require('jsonschema').validate; +var fs = require('fs'); + +var readline = require('readline'); +var schema = ''; +var testCode = ''; + +var readline = require('readline'); +var rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + terminal: false +}); + +rl.on('line', function(line){ + fs.readFile('schema.json', function(err, data) { + if (err) { + throw err; + } + + schema = JSON.parse(data); + + fs.readFile(line, function(err, data) { + if (err) { + throw err; + } + + try { + testCode = JSON.parse(data); + } catch(e) { + console.log(e); + } + + try { + var x = validate(testCode, schema); + + if (x.errors.length > 0) { + console.log(line+':\n'); + for (var i = 0; i < x.errors.length; i++) { + console.log(' '+x.errors[i]+'\n') + } + } + } catch(e) { + console.log(e); + } + }); + }); +}); |