Skip to content

Commit a0e1962

Browse files
authored
Merge pull request marksparkza#66 from handrews/dynamic
Change $dynamicRef to pass new test suite case
2 parents 674c07d + 51965cb commit a0e1962

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ Breaking changes:
2525
* Rename ``session`` parameter to ``cacheid`` in many places
2626
* Rename public functions in the ``jsonpatch`` module
2727

28+
Bug Fixes:
29+
30+
* "$dynamicRef" works with non-plain-name fragment URIs
31+
2832
Documentation:
2933

3034
* Rename `User Guide` to `Tutorial`

jschon/vocabulary/core.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,7 @@ class DynamicRefKeyword(Keyword):
124124
def __init__(self, parentschema: JSONSchema, value: str):
125125
super().__init__(parentschema, value)
126126

127-
# this is not required by the spec, but it doesn't make sense
128-
# for a $dynamicRef *not* to end in a plain-name fragment
129-
if (fragment := URI(value).fragment) is None or '/' in fragment:
130-
raise JSONSchemaError('The value for "$dynamicRef" must end in a plain-name fragment')
131-
132-
self.fragment = fragment
127+
self.fragment = URI(value).fragment
133128
self.refschema = None
134129
self.dynamic = False
135130

0 commit comments

Comments
 (0)