@@ -7,17 +7,20 @@ import * as Ajv from "ajv";
7
7
8
8
const ajv = new Ajv ( ) ;
9
9
10
- const base = "test/programs/" ;
10
+ const metaSchema = require ( "ajv/lib/refs/json-schema-draft-04.json" ) ;
11
+ ajv . addMetaSchema ( metaSchema , "http://json-schema.org/draft-04/schema#" ) ;
12
+
13
+ const BASE = "test/programs/" ;
11
14
12
15
export function assertSchema ( group : string , name : string , type : string , settings : TJS . PartialArgs = { } , compilerOptions ?: CompilerOptions ) {
13
16
it ( group + " should create correct schema" , ( ) => {
14
17
if ( ! ( "generateRequired" in settings ) ) {
15
18
settings . generateRequired = true ;
16
19
}
17
20
18
- const actual = TJS . generateSchema ( TJS . getProgramFromFiles ( [ resolve ( base + group + "/" + name ) ] , compilerOptions ) , type , settings ) ;
21
+ const actual = TJS . generateSchema ( TJS . getProgramFromFiles ( [ resolve ( BASE + group + "/" + name ) ] , compilerOptions ) , type , settings ) ;
19
22
20
- const file = readFileSync ( base + group + "/schema.json" , "utf8" ) ;
23
+ const file = readFileSync ( BASE + group + "/schema.json" , "utf8" ) ;
21
24
const expected = JSON . parse ( file ) ;
22
25
23
26
assert . isObject ( actual ) ;
@@ -33,7 +36,7 @@ export function assertSchema(group: string, name: string, type: string, settings
33
36
34
37
describe ( "interfaces" , ( ) => {
35
38
it ( "should return an instance of JsonSchemaGenerator" , ( ) => {
36
- const program = TJS . getProgramFromFiles ( [ resolve ( base + "comments/main.ts" ) ] ) ;
39
+ const program = TJS . getProgramFromFiles ( [ resolve ( BASE + "comments/main.ts" ) ] ) ;
37
40
const generator = TJS . buildGenerator ( program ) ;
38
41
39
42
assert . instanceOf ( generator , TJS . JsonSchemaGenerator ) ;
@@ -47,7 +50,7 @@ describe("interfaces", () => {
47
50
}
48
51
} ) ;
49
52
it ( "should output the schemas set by setSchemaOverride" , ( ) => {
50
- const program = TJS . getProgramFromFiles ( [ resolve ( base + "interface-multi/main.ts" ) ] ) ;
53
+ const program = TJS . getProgramFromFiles ( [ resolve ( BASE + "interface-multi/main.ts" ) ] ) ;
51
54
const generator = TJS . buildGenerator ( program ) ;
52
55
assert ( generator !== null ) ;
53
56
if ( generator !== null ) {
0 commit comments