@@ -165,22 +165,6 @@ def test_default_types_used_if_no_type_checker_given(self):
165
165
166
166
self .assertEqual (set (Validator .DEFAULT_TYPES ), expected_types )
167
167
168
- @unittest .skip ("This logic is actually incorrect." )
169
- def test_default_types_update_type_checker (self ):
170
- Validator = validators .create (
171
- meta_schema = self .meta_schema ,
172
- validators = self .validators ,
173
- default_types = {u"array" : list }
174
- )
175
-
176
- self .assertEqual (set (Validator .DEFAULT_TYPES ), {u"array" })
177
- Extended = validators .extend (
178
- Validator ,
179
- type_checker = Validator .TYPE_CHECKER .remove (u"array" )
180
- )
181
-
182
- self .assertEqual (set (Extended .DEFAULT_TYPES ), {})
183
-
184
168
def test_types_redefines_the_validators_type_checker (self ):
185
169
schema = {"type" : "string" }
186
170
self .assertFalse (validators .Draft7Validator (schema ).is_valid (12 ))
@@ -243,6 +227,29 @@ def test_providing_default_types_with_type_checker_errors(self):
243
227
)
244
228
self .assertFalse (self .flushWarnings ())
245
229
230
+ def test_extending_a_legacy_validator_with_a_type_checker_errors (self ):
231
+ Validator = validators .create (
232
+ meta_schema = {},
233
+ validators = {},
234
+ default_types = {u"array" : list }
235
+ )
236
+ with self .assertRaises (TypeError ) as e :
237
+ validators .extend (
238
+ Validator ,
239
+ validators = {},
240
+ type_checker = TypeChecker (),
241
+ )
242
+
243
+ self .assertIn (
244
+ (
245
+ "Cannot extend a validator created with default_types "
246
+ "with a type_checker. Update the validator to use a "
247
+ "type_checker when created."
248
+ ),
249
+ str (e .exception ),
250
+ )
251
+ self .flushWarnings ()
252
+
246
253
def test_extending_a_legacy_validator_does_not_rewarn (self ):
247
254
Validator = validators .create (meta_schema = {}, default_types = {})
248
255
self .assertTrue (self .flushWarnings ())
0 commit comments