Skip to content

feat: multi-valued type support + modern test data (C41, C41b) - #1183

Merged
jsenko merged 2 commits into
feature/json-schema-rewrite-cleanfrom
c38-modern-keywords-2
Aug 12, 2026
Merged

feat: multi-valued type support + modern test data (C41, C41b)#1183
jsenko merged 2 commits into
feature/json-schema-rewrite-cleanfrom
c38-modern-keywords-2

Conversation

@jsenko

@jsenko jsenko commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Multi-valued type: compare as sets, types added = backward compatible, types removed = incompatible, integer/number normalization. 6 test cases.
  • Modern test data: 8 additional test cases for cross-version definitions↔$defs, $recursiveRef, $dynamicRef, if/then/else, dependentRequired member changes, composition, enum/const.

Context

C41 and C41b in #1042.

Test plan

  • All 174 CC data-driven tests pass

jsenko added 2 commits August 12, 2026 12:32
8 new test cases:
- Cross-version: d7 definitions vs 2019-09 $defs
- $recursiveRef string comparison (2019-09)
- $dynamicRef string comparison (2020-12)
- 2019-09 if/then/else
- dependentRequired member added/removed within key
- 2020-12 composition (allOf/anyOf)
- 2020-12 enum/const

Total: 168 passing (21 modern/cross-version tests)
Multi-valued type (e.g. type: ["string", "number"]):
- Compare as sets instead of flagging as unsupported
- Types added = backward compatible, types removed = incompatible
- integer/number normalization (integer is subset of number)
- 6 new test cases (same types, added, removed, integer↔number,
  single↔multi, different order)

Modern test data (C41): 8 additional test cases for cross-version
definitions↔$defs, $recursiveRef, $dynamicRef, if/then/else,
dependentRequired member changes, composition, enum/const.

Total: 174 passing tests.
@jsenko
jsenko merged commit 480e99c into feature/json-schema-rewrite-clean Aug 12, 2026
2 checks passed
@jsenko
jsenko deleted the c38-modern-keywords-2 branch August 12, 2026 15:15
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