From b38a010563b2203cd9ec1d2217b31f17205d01df Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Sat, 16 Feb 2019 11:36:46 -0500 Subject: At least a failing test. --- jsonschema/tests/test_validators.py | 33 ++++++++++++++++++++++++++++++++- jsonschema/validators.py | 6 ++++-- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/jsonschema/tests/test_validators.py b/jsonschema/tests/test_validators.py index f8f982c..8af568d 100644 --- a/jsonschema/tests/test_validators.py +++ b/jsonschema/tests/test_validators.py @@ -179,7 +179,38 @@ class TestLegacyTypeChecking(SynchronousTestCase): u"integer", u"null", u"number", - u"object", u"string", + u"object", + u"string", + }, + ) + self.flushWarnings() + + def test_default_types_with_provided_custom_type_checker(self): + type_checker = TypeChecker( + { + u"Here": lambda foo: False, + u"we": lambda foo: False, + u"go": lambda foo: False, + u"mistaking": lambda foo: False, + u"clouds": lambda foo: False, + u"for": lambda foo: False, + u"mountains": lambda foo: False, + }, + ) + Validator = validators.create( + meta_schema={}, + validators=(), + type_checker=type_checker, + ) + self.assertEqual( + set(Validator.DEFAULT_TYPES), { + u"Here", + u"we", + u"go", + u"mistaking", + u"clouds", + u"for", + u"mountains", }, ) self.flushWarnings() diff --git a/jsonschema/validators.py b/jsonschema/validators.py index 650b5d1..4ad8992 100644 --- a/jsonschema/validators.py +++ b/jsonschema/validators.py @@ -213,12 +213,14 @@ def create( type_checkers=_generate_legacy_type_checks(default_types), ) else: - default_types = _DEPRECATED_DEFAULT_TYPES _created_with_default_types = False if type_checker is None: type_checker = _types.TypeChecker( - type_checkers=_generate_legacy_type_checks(default_types), + type_checkers=_generate_legacy_type_checks( + _DEPRECATED_DEFAULT_TYPES, + ), ) + default_types = type_checker._type_checkers @add_metaclass(_DefaultTypesDeprecatingMetaClass) class Validator(object): -- cgit v1.2.1