summaryrefslogtreecommitdiff
path: root/jsonschema/validators.py
diff options
context:
space:
mode:
Diffstat (limited to 'jsonschema/validators.py')
-rw-r--r--jsonschema/validators.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/jsonschema/validators.py b/jsonschema/validators.py
index 5b16fdc..262113b 100644
--- a/jsonschema/validators.py
+++ b/jsonschema/validators.py
@@ -387,11 +387,14 @@ def create(
)
return
- if resolver is None:
- resolver = self._resolver.in_subresource(
- specification.create_resource(schema),
- )
- evolved = self.evolve(schema=schema, _resolver=resolver)
+ if self._ref_resolver is not None:
+ evolved = self.evolve(schema=schema)
+ else:
+ if resolver is None:
+ resolver = self._resolver.in_subresource(
+ specification.create_resource(schema),
+ )
+ evolved = self.evolve(schema=schema, _resolver=resolver)
for k, v in applicable_validators(schema):
validator = evolved.VALIDATORS.get(k)
@@ -448,7 +451,7 @@ def create(
self._ref_resolver.push_scope(scope)
try:
- return self.descend(instance, resolved)
+ return list(self.descend(instance, resolved))
finally:
self._ref_resolver.pop_scope()