@@ -108,11 +108,42 @@ class ValidateTests: XCTestCase {
108
108
try XCTAssertFalse ( validate ( [ " price " : 34.99 ] , schema: schema) . valid)
109
109
}
110
110
111
- func testDraft6ValidatorIsAvailable( ) {
112
- let result = validator ( for: [ " $schema " : " http://json-schema.org/draft-06/schema# " ] )
111
+ func testDefaultValidator( ) throws {
112
+ let result = try validator ( for: [ : ] )
113
+ XCTAssertTrue ( result is Draft4Validator , " Unexpected type of validator \( result) " )
114
+ }
115
+
116
+ func testDraft4ValidatorIsAvailable( ) throws {
117
+ let result = try validator ( for: [ " $schema " : " http://json-schema.org/draft-04/schema# " ] )
118
+ XCTAssertTrue ( result is Draft4Validator , " Unexpected type of validator \( result) " )
119
+ }
120
+
121
+ func testDraft6ValidatorIsAvailable( ) throws {
122
+ let result = try validator ( for: [ " $schema " : " http://json-schema.org/draft-06/schema# " ] )
113
123
XCTAssertTrue ( result is Draft6Validator , " Unexpected type of validator \( result) " )
114
124
}
115
125
126
+ func testDraft7ValidatorIsAvailable( ) throws {
127
+ let result = try validator ( for: [ " $schema " : " http://json-schema.org/draft-07/schema# " ] )
128
+ XCTAssertTrue ( result is Draft7Validator , " Unexpected type of validator \( result) " )
129
+ }
130
+
131
+ func testDraft201909ValidatorIsAvailable( ) throws {
132
+ let result = try validator ( for: [ " $schema " : " https://json-schema.org/draft/2019-09/schema " ] )
133
+ XCTAssertTrue ( result is Draft201909Validator , " Unexpected type of validator \( result) " )
134
+ }
135
+
136
+ func testDraft202012ValidatorIsAvailable( ) throws {
137
+ let result = try validator ( for: [ " $schema " : " https://json-schema.org/draft/2020-12/schema " ] )
138
+ XCTAssertTrue ( result is Draft202012Validator , " Unexpected type of validator \( result) " )
139
+ }
140
+
141
+ func testUnknownValidator( ) throws {
142
+ XCTAssertThrowsError (
143
+ try validator ( for: [ " $schema " : " https://example.com/schema " ] )
144
+ )
145
+ }
146
+
116
147
func testValidateDraft7( ) throws {
117
148
let schema : [ String : Any ] = [
118
149
" $schema " : " http://json-schema.org/draft-07/schema# " ,
0 commit comments