Add unevaluatedProperties instance location coverage#905
Conversation
|
I'm not convinced this is necessary. The current test will make sure an implementation handles this case in general and I don't see any reason why it would be any different for |
Thanks for the feedback. I'll run these cases through Bowtie against the supported implementations and report back if they expose any implementation failures. |
|
@jdesrosiers Thanks for the suggestion. I ran the new cases through Bowtie and found that they expose an existing implementation issue. Using Bowtie 2026.5.15,
For each failing case, the implementation incorrectly accepts: {
"foo": { "bar": "foo" },
"bar": "bar"
} |
|
Ok, but that implementation also fails the existing similar test. My assertion is that the existing test should be enough to expose the issue. If opis-json-schema were to fix that failing test and the two being added here were not still failing, that would be an indication that the new tests are useful. |
|
Thanks @sinclairzx81 for the reference. Someone implementing JSON Schema saying that the test is useful to them is good enough for me. |
jdesrosiers
left a comment
There was a problem hiding this comment.
There are tests here that don't have to do with the stated purpose of the PR. (Didn't we recently merge these? Do you need to rebase your branch?)
Please add the new tests to v1 as well.
82ed340 to
716f309
Compare
@jdesrosiers Thanks, fixed. I rebased the branch onto the latest upstream |
Resolves #889
Adds additional coverage for evaluated property collection respecting instance location.
This extends the existing unevaluatedProperties test coverage for draft 2019-09 and draft 2020-12 with related cases for:
Each case verifies that a property evaluated inside a nested object does not cause a same-named property at another instance location to be treated as evaluated.
Validation:
Note: Full bin/jsonschema_suite check currently fails locally on unrelated older-draft sanity checks involving
defaultas an unknown keyword.