Skip to content

Commit ee3fc3d

Browse files
authored
test(draft2020-12): add boundary coverage for maxContains = 0 (#857)
* test(draft2020-12): add boundary coverage for maxContains = 0 * test(maxContains): add boundary case for maxContains=0 with minContains=0 * remove redundant maxContains=0 test without minContains
1 parent 54ed4d1 commit ee3fc3d

3 files changed

Lines changed: 63 additions & 0 deletions

File tree

tests/draft2019-09/maxContains.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,5 +98,26 @@
9898
"valid": false
9999
}
100100
]
101+
},
102+
{
103+
"description": "maxContains = 0 with minContains = 0",
104+
"schema": {
105+
"$schema": "https://json-schema.org/draft/2019-09/schema",
106+
"contains": {"const": 1},
107+
"minContains": 0,
108+
"maxContains": 0
109+
},
110+
"tests": [
111+
{
112+
"description": "empty array",
113+
"data": [ ],
114+
"valid": true
115+
},
116+
{
117+
"description": "one matching item",
118+
"data": [ 1 ],
119+
"valid": false
120+
}
121+
]
101122
}
102123
]

tests/draft2020-12/maxContains.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,5 +98,26 @@
9898
"valid": false
9999
}
100100
]
101+
},
102+
{
103+
"description": "maxContains = 0 with minContains = 0",
104+
"schema": {
105+
"$schema": "https://json-schema.org/draft/2020-12/schema",
106+
"contains": {"const": 1},
107+
"minContains": 0,
108+
"maxContains": 0
109+
},
110+
"tests": [
111+
{
112+
"description": "empty array",
113+
"data": [ ],
114+
"valid": true
115+
},
116+
{
117+
"description": "one matching item",
118+
"data": [ 1 ],
119+
"valid": false
120+
}
121+
]
101122
}
102123
]

tests/v1/maxContains.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,5 +98,26 @@
9898
"valid": false
9999
}
100100
]
101+
},
102+
{
103+
"description": "maxContains = 0 with minContains = 0",
104+
"schema": {
105+
"$schema": "https://json-schema.org/v1",
106+
"contains": { "const": 1 },
107+
"minContains": 0,
108+
"maxContains": 0
109+
},
110+
"tests": [
111+
{
112+
"description": "empty array",
113+
"data": [],
114+
"valid": true
115+
},
116+
{
117+
"description": "one matching item",
118+
"data": [1],
119+
"valid": false
120+
}
121+
]
101122
}
102123
]

0 commit comments

Comments
 (0)