for-GET / jesse

jesse (JSon Schema Erlang) is an implementation of a JSON Schema validator for Erlang.
https://github.com/for-get/jesse
Apache License 2.0
124 stars 64 forks source link

bump JSON Schema test suite #109

Closed andreineculau closed 2 years ago

andreineculau commented 3 years ago

as per #107

doing this separately from #108 because there are failing tests in draft3 and draft4 i.e. jesse's current implementation fails some "corner" cases

WORK IN PROGRESS

seriyps commented 3 years ago

FYI, I'm working on it

seriyps commented 3 years ago

Have some difficulties with ref test case "Description: ref overrides any sibling keywords". We are currently crashing when we see that there are other validators siblings to $ref. But it seems that the test is supposed to just ignore all the other keys if there is a $ref defined. I have troubles trying to find a place where this logic can be hooked...

seriyps commented 3 years ago

ok, found a workaround for "ref overrides any sibling keywords", but now discovered those "Location-independent identifier". Seems it works similar to # CSS selector (find by ID) and it is mentioned on some of the specifications for some of JSON schema versions https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-01#section-8.2.3, but in draft-04 it is mentioned only very little and seems it's even optional: https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04#section-7.2.4 (json schea specification versioning is very confusing https://json-schema.org/specification-links.html). So, maybe we should just skip the tests which are testing this feature?

seriyps commented 3 years ago

@andreineculau I fixed all the tests except 3 I explicitly skipped. I may try to spend some more time on it, but not sure it worth it, because it would be very difficult to implement it efficiently; also I doubt those features are popular...

seriyps commented 3 years ago

:wave:

seriyps commented 2 years ago

Let's say that I'll merge it this Wednesday 8th of December, if there will be no objections until then =)