Skip to content

Commit 5df4fef

Browse files
committed
test: add C38 test cases for prefixItems, unevaluatedProperties
5 new test cases: - prefixItems basic compatibility (2020-12) - prefixItems narrowed (added item) - Cross-version: d7 tuple items vs 2020-12 prefixItems - unevaluatedProperties added/removed (2019-09)
1 parent caf4457 commit 5df4fef

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

data-models/src/test/resources/io/apitomy/datamodels/jsonschema/compat/compatibility-test-data.json

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3997,6 +3997,110 @@
39973997
"properties": { "name": { "type": "string" } },
39983998
"required": ["name"]
39993999
}
4000+
},
4001+
{
4002+
"enabled": true,
4003+
"id": "Modern: prefixItems basic compatibility",
4004+
"compatibility": "both",
4005+
"original": {
4006+
"$schema": "https://json-schema.org/draft/2020-12/schema",
4007+
"type": "array",
4008+
"prefixItems": [
4009+
{ "type": "string" },
4010+
{ "type": "integer" }
4011+
]
4012+
},
4013+
"updated": {
4014+
"$schema": "https://json-schema.org/draft/2020-12/schema",
4015+
"type": "array",
4016+
"prefixItems": [
4017+
{ "type": "string" },
4018+
{ "type": "integer" }
4019+
]
4020+
}
4021+
},
4022+
{
4023+
"enabled": true,
4024+
"id": "Modern: prefixItems narrowed (added item)",
4025+
"expected": {
4026+
"backward": { "compatible": false },
4027+
"forward": { "compatible": true }
4028+
},
4029+
"original": {
4030+
"$schema": "https://json-schema.org/draft/2020-12/schema",
4031+
"type": "array",
4032+
"prefixItems": [
4033+
{ "type": "string" }
4034+
]
4035+
},
4036+
"updated": {
4037+
"$schema": "https://json-schema.org/draft/2020-12/schema",
4038+
"type": "array",
4039+
"prefixItems": [
4040+
{ "type": "string" },
4041+
{ "type": "integer" }
4042+
]
4043+
}
4044+
},
4045+
{
4046+
"enabled": true,
4047+
"id": "Cross-version: d7 tuple items vs 2020-12 prefixItems",
4048+
"config": { "allowCrossVersionChecking": true },
4049+
"compatibility": "both",
4050+
"original": {
4051+
"$schema": "http://json-schema.org/draft-07/schema#",
4052+
"type": "array",
4053+
"items": [
4054+
{ "type": "string" },
4055+
{ "type": "integer" }
4056+
]
4057+
},
4058+
"updated": {
4059+
"$schema": "https://json-schema.org/draft/2020-12/schema",
4060+
"type": "array",
4061+
"prefixItems": [
4062+
{ "type": "string" },
4063+
{ "type": "integer" }
4064+
]
4065+
}
4066+
},
4067+
{
4068+
"enabled": true,
4069+
"id": "Modern: unevaluatedProperties added",
4070+
"expected": {
4071+
"backward": { "compatible": false },
4072+
"forward": { "compatible": true }
4073+
},
4074+
"original": {
4075+
"$schema": "https://json-schema.org/draft/2019-09/schema",
4076+
"type": "object",
4077+
"properties": { "name": { "type": "string" } }
4078+
},
4079+
"updated": {
4080+
"$schema": "https://json-schema.org/draft/2019-09/schema",
4081+
"type": "object",
4082+
"properties": { "name": { "type": "string" } },
4083+
"unevaluatedProperties": false
4084+
}
4085+
},
4086+
{
4087+
"enabled": true,
4088+
"id": "Modern: unevaluatedProperties removed",
4089+
"expected": {
4090+
"backward": { "compatible": true },
4091+
"forward": { "compatible": false }
4092+
},
4093+
"original": {
4094+
"$schema": "https://json-schema.org/draft/2019-09/schema",
4095+
"type": "object",
4096+
"properties": { "name": { "type": "string" } },
4097+
"unevaluatedProperties": false
4098+
},
4099+
"updated": {
4100+
"$schema": "https://json-schema.org/draft/2019-09/schema",
4101+
"type": "object",
4102+
"properties": { "name": { "type": "string" } }
4103+
}
40004104
}
40014105
]
40024106
}

0 commit comments

Comments
 (0)