summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Berman <Julian@GrayVines.com>2013-05-21 07:36:13 -0400
committerJulian Berman <Julian@GrayVines.com>2013-05-21 07:36:13 -0400
commitd9a7c17244d518173e78665861270670dfcbb8f0 (patch)
tree4c2f56595f736c406a7cc4243a6b0361503d65f4
parent00e0287c6675cf1c9236d5629916b6b513f3b8e7 (diff)
downloadjsonschema-d9a7c17244d518173e78665861270670dfcbb8f0.tar.gz
Make sure to copy validators on extend.
-rw-r--r--jsonschema/tests/test_validators.py3
-rw-r--r--jsonschema/validators.py2
2 files changed, 3 insertions, 2 deletions
diff --git a/jsonschema/tests/test_validators.py b/jsonschema/tests/test_validators.py
index 9746384..e33b4da 100644
--- a/jsonschema/tests/test_validators.py
+++ b/jsonschema/tests/test_validators.py
@@ -72,10 +72,11 @@ class TestCreateAndExtend(unittest.TestCase):
validators.update([("a new one", new)])
self.assertEqual(Extended.VALIDATORS, validators)
+ self.assertNotIn("a new one", self.Validator.VALIDATORS)
+
self.assertEqual(Extended.META_SCHEMA, self.Validator.META_SCHEMA)
self.assertEqual(Extended.DEFAULT_TYPES, self.Validator.DEFAULT_TYPES)
-
class TestIterErrors(unittest.TestCase):
def setUp(self):
self.validator = Draft3Validator({})
diff --git a/jsonschema/validators.py b/jsonschema/validators.py
index 40a52d3..32ad9b2 100644
--- a/jsonschema/validators.py
+++ b/jsonschema/validators.py
@@ -148,7 +148,7 @@ def create(meta_schema, validators=(), version=None, default_types=None): # noq
def extend(validator, validators, version=None):
- all_validators = validator.VALIDATORS
+ all_validators = dict(validator.VALIDATORS)
all_validators.update(validators)
return create(
meta_schema=validator.META_SCHEMA,