Skip to content

Commit 15ddd2f

Browse files
committed
Bit of coverage tweaking.
1 parent 5382037 commit 15ddd2f

File tree

3 files changed

+25
-18
lines changed

3 files changed

+25
-18
lines changed

jsonschema/tests/test_cli.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
import sys
1111
import tempfile
1212

13-
try:
13+
try: # pragma: no cover
1414
from importlib import metadata
15-
except ImportError:
15+
except ImportError: # pragma: no cover
1616
import importlib_metadata as metadata
1717

1818
from pyrsistent import m
@@ -36,7 +36,7 @@ def __init__(self, *args, **kwargs):
3636
def iter_errors(self, instance):
3737
if errors:
3838
return errors.pop()
39-
return []
39+
return [] # pragma: no cover
4040

4141
@classmethod
4242
def check_schema(self, schema):

jsonschema/tests/test_jsonschema_test_suite.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def skipper(test):
4242

4343

4444
def missing_format(checker):
45-
def missing_format(test):
45+
def missing_format(test): # pragma: no cover
4646
schema = test.schema
4747
if (
4848
schema is True
@@ -93,7 +93,7 @@ def narrow_unicode_build(test): # pragma: no cover
9393
return
9494

9595

96-
if sys.version_info < (3, 9):
96+
if sys.version_info < (3, 9): # pragma: no cover
9797
message = "Rejecting leading zeros is 3.9+"
9898
allowed_leading_zeros = skip(
9999
message=message,
@@ -103,7 +103,7 @@ def narrow_unicode_build(test): # pragma: no cover
103103
),
104104
)
105105
else:
106-
def allowed_leading_zeros(test):
106+
def allowed_leading_zeros(test): # pragma: no cover
107107
return
108108

109109

jsonschema/tests/test_types.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,6 @@ def is_object_or_named_tuple(checker, instance):
2828
return is_namedtuple(instance)
2929

3030

31-
def coerce_named_tuple(fn):
32-
def coerced(validator, value, instance, schema):
33-
if is_namedtuple(instance):
34-
instance = instance._asdict()
35-
return fn(validator, value, instance, schema)
36-
return coerced
37-
38-
39-
required = coerce_named_tuple(_validators.required)
40-
properties = coerce_named_tuple(_validators.properties)
41-
42-
4331
class TestTypeChecker(TestCase):
4432
def test_is_type(self):
4533
checker = TypeChecker({"two": equals_2})
@@ -139,6 +127,9 @@ def int_or_str_int(checker, instance):
139127
with self.assertRaises(ValidationError):
140128
validator.validate(4.4)
141129

130+
with self.assertRaises(ValidationError):
131+
validator.validate("foo")
132+
142133
def test_object_can_be_extended(self):
143134
schema = {"type": "object"}
144135

@@ -179,6 +170,16 @@ def test_object_extensions_can_handle_custom_validators(self):
179170
"object", is_object_or_named_tuple,
180171
)
181172

173+
def coerce_named_tuple(fn):
174+
def coerced(validator, value, instance, schema):
175+
if is_namedtuple(instance):
176+
instance = instance._asdict()
177+
return fn(validator, value, instance, schema)
178+
return coerced
179+
180+
required = coerce_named_tuple(_validators.required)
181+
properties = coerce_named_tuple(_validators.properties)
182+
182183
CustomValidator = extend(
183184
Draft4Validator,
184185
type_checker=type_checker,
@@ -194,6 +195,12 @@ def test_object_extensions_can_handle_custom_validators(self):
194195
with self.assertRaises(ValidationError):
195196
validator.validate(Point(x="not an integer", y=5))
196197

198+
# As well as still handle objects.
199+
validator.validate({"x": 4, "y": 5})
200+
201+
with self.assertRaises(ValidationError):
202+
validator.validate({"x": "not an integer", "y": 5})
203+
197204
def test_unknown_type(self):
198205
with self.assertRaises(UnknownType) as e:
199206
Draft4Validator({}).is_type(12, "some unknown type")

0 commit comments

Comments
 (0)