Skip to content

Conversation

@dmarcotte
Copy link
Contributor

Building on the work in #122, this pull adds full $ref/$id support, and we now pass all JSON-Schema-Test-Suite tests (verified in our build by SchemaSuiteTest), with one nuance:

We are not supporting fetching of remote schema resources right now (or ever?), so we ported the JSON-Schema-Test-Suite tests with remotes into bundled versions of those test in JsonSchemaTestBundledRemotes.

Introduce `JsonPointerParser` to parse and validate JSON Pointer strings
according to RFC 6901. This is in preparation for filling in the $ref
handling in our JSON Schema support
Organize our remaining SchemaSuiteTest exclusions around the feature or
gap they are related to in order to make it easier to tackle these last
few areas piece by piece.
Add $ref support for JSON Pointer references within the same document
as a concrete first step towards full $ref support
Added `decodeUriEncoding` to handle percent-encoded characters in
`$ref`s, moving us closer to full $ref support
Update `JsonTestSuiteGenerator` to pretty print the JSON schemas in
`SchemaSuiteTest` so that the tests are easier to quickly understand
Hopefully we can add some form of this back later, but for now this is
not quite correct since these siblings are not totally ignored and may
be used for instance in some fancy $ref lookups.  Hopefully we can
revisit adding some helpful messaging in here once full $ref support
is implemented.
This effectively completes our implementation of JSON Schema Draft 7.
We now pass all [JSON-Schema-Test-Suite](https://github.com/json-schema-org/JSON-Schema-Test-Suite)
 tests (verified in our build by `SchemaSuiteTest`), with one nuance:

We are not supporting fetching of remote schema resources right now
(or ever?), so we ported the JSON-Schema-Test-Suite tests with remotes
into [bundled](https://json-schema.org/blog/posts/bundling-json-schema-compound-documents)
versions of those test in `JsonSchemaTestBundledRemotes`.
@dmarcotte dmarcotte merged commit 0fc27d8 into kson-org:main Sep 1, 2025
1 check passed
@dmarcotte dmarcotte deleted the json-schema-draft7-support branch September 1, 2025 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant