|
2 | 2 |
|
3 | 3 | var Ajv = require('ajv');
|
4 | 4 | var jsonSchemaTest = require('json-schema-test');
|
5 |
| -var glob = require('glob'); |
6 | 5 | var assert = require('assert');
|
7 | 6 |
|
8 |
| -var ajv = new Ajv({addUsedSchema: false}); |
9 |
| -ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json')); |
10 |
| - |
11 | 7 | var refs = {
|
12 | 8 | 'http://localhost:1234/integer.json': require('./remotes/integer.json'),
|
13 | 9 | 'http://localhost:1234/subSchemas.json': require('./remotes/subSchemas.json'),
|
14 | 10 | 'http://localhost:1234/folder/folderInteger.json': require('./remotes/folder/folderInteger.json')
|
15 | 11 | };
|
16 | 12 |
|
17 |
| -for (var uri in refs) ajv.addSchema(refs[uri], uri); |
| 13 | +runTest(4); |
| 14 | +runTest(6); |
| 15 | + |
| 16 | +function runTest(draft) { |
| 17 | + var opts = {addUsedSchema: false}; |
| 18 | + if (draft == 4) opts.meta = false; |
| 19 | + var ajv = new Ajv(opts); |
| 20 | + ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json')); |
| 21 | + if (draft == 4) ajv._opts.defaultMeta = 'http://json-schema.org/draft-04/schema#'; |
| 22 | + for (var uri in refs) ajv.addSchema(refs[uri], uri); |
18 | 23 |
|
19 |
| -jsonSchemaTest(ajv, { |
20 |
| - description: 'Test suite', |
21 |
| - suites: { |
22 |
| - 'draft-04': './tests/draft4/{**/,}*.json', |
23 |
| - 'draft-06': './tests/draft6/{**/,}*.json' |
24 |
| - }, |
25 |
| - skip: [ 'optional/zeroTerminatedFloats' ], |
26 |
| - cwd: __dirname, |
27 |
| - hideFolder: 'tests/' |
28 |
| -}); |
| 24 | + jsonSchemaTest(ajv, { |
| 25 | + description: 'Test suite draft-0' + draft, |
| 26 | + suites: {tests: './tests/draft' + draft + '/{**/,}*.json'}, |
| 27 | + skip: draft == 4 ? ['optional/zeroTerminatedFloats'] : [], |
| 28 | + cwd: __dirname, |
| 29 | + hideFolder: 'tests/' |
| 30 | + }); |
| 31 | +} |
0 commit comments