Skip to content

Commit 9b18bea

Browse files
Copilotstefankoegl
andcommitted
Add test for JsonPointerException on missing OrderedDict member
Co-authored-by: stefankoegl <184196+stefankoegl@users.noreply.github.com>
1 parent e832bdf commit 9b18bea

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

tests.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import copy
55
import doctest
66
import unittest
7+
from collections import OrderedDict
78

89
import jsonpointer
910
from jsonpointer import resolve_pointer, EndOfList, JsonPointerException, \
@@ -216,6 +217,24 @@ def test_trailing_escape(self):
216217
def test_invalid_escape(self):
217218
self.assertRaises(JsonPointerException, JsonPointer, '/foo/bar~2')
218219

220+
def test_ordereddict_member_not_found(self):
221+
# Resolving a pointer to a non-existent key in an OrderedDict should
222+
# raise JsonPointerException (not a bare KeyError or any other exception)
223+
doc = OrderedDict([
224+
('$schema', 'http://json-schema.org/draft-07/schema#'),
225+
('$id', '/sports_field'),
226+
('title', 'Field'),
227+
('description', 'A sports field description.'),
228+
('type', 'object'),
229+
('properties', OrderedDict([
230+
('description', OrderedDict([
231+
('description', 'Field description'),
232+
('type', 'string'),
233+
])),
234+
])),
235+
])
236+
self.assertRaises(JsonPointerException, resolve_pointer, doc, '/src')
237+
219238

220239
class ToLastTests(unittest.TestCase):
221240

0 commit comments

Comments
 (0)