diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-09-19 19:04:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-19 19:04:28 -0400 |
commit | 51d4e5b0ff4c0054bf5012464414ec0657d09963 (patch) | |
tree | 9920d1a9c84bf968ca8105700450792d78ac0088 /test/schema-validate.js | |
parent | 4293f731537906785da3b1f20535ddd18a4edd21 (diff) |
Dev/test script organization (#846)
* Move lint scripts
* Move dictionary-validate.js
* Move schema-validate.js
* Move createTestDictionaryArchive, remove yomichan-test.js
* Rename yomichan-util.js to util.js
* Move test/yomichan-vm.js to dev/vm.js
* Move getArgs into util.js (and fix name)
* Create test-all.js
* Update test-code script
Diffstat (limited to 'test/schema-validate.js')
-rw-r--r-- | test/schema-validate.js | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/test/schema-validate.js b/test/schema-validate.js deleted file mode 100644 index 7b7a21a6..00000000 --- a/test/schema-validate.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2020 Yomichan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -const fs = require('fs'); -const {VM} = require('./yomichan-vm'); - -const vm = new VM(); -vm.execute([ - 'mixed/js/core.js', - 'mixed/js/cache-map.js', - 'bg/js/json-schema.js' -]); -const JsonSchemaValidator = vm.get('JsonSchemaValidator'); - - -function main() { - const args = process.argv.slice(2); - if (args.length < 2) { - console.log([ - 'Usage:', - ' node schema-validate <schema-file-name> <data-file-names>...' - ].join('\n')); - return; - } - - const schemaSource = fs.readFileSync(args[0], {encoding: 'utf8'}); - const schema = JSON.parse(schemaSource); - - for (const dataFileName of args.slice(1)) { - try { - console.log(`Validating ${dataFileName}...`); - const dataSource = fs.readFileSync(dataFileName, {encoding: 'utf8'}); - const data = JSON.parse(dataSource); - new JsonSchemaValidator().validate(data, schema); - console.log('No issues found'); - } catch (e) { - console.warn(e); - } - } -} - - -if (require.main === module) { main(); } |