Add validation for keywords related to numbers and strings. It may be surprising that keywords like "minimum" or "minLength" don't imply that the instance is a number or string. But that is how JSON Schema is designed. Change-Id: I8805a5fe91ee345931e1c989f174ea2d0be6665a Reviewed-on: https://go-review.googlesource.com/c/tools/+/667975 Reviewed-by: Robert Findley <rfindley@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Jonathan Amsterdam <jba@google.com>
75 lines
2.1 KiB
JSON
75 lines
2.1 KiB
JSON
[
|
|
{
|
|
"description": "minimum validation",
|
|
"schema": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"minimum": 1.1
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "above the minimum is valid",
|
|
"data": 2.6,
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "boundary point is valid",
|
|
"data": 1.1,
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "below the minimum is invalid",
|
|
"data": 0.6,
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "ignores non-numbers",
|
|
"data": "x",
|
|
"valid": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "minimum validation with signed integer",
|
|
"schema": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"minimum": -2
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "negative above the minimum is valid",
|
|
"data": -1,
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "positive above the minimum is valid",
|
|
"data": 0,
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "boundary point is valid",
|
|
"data": -2,
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "boundary point with float is valid",
|
|
"data": -2.0,
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "float below the minimum is invalid",
|
|
"data": -2.0001,
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "int below the minimum is invalid",
|
|
"data": -3,
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "ignores non-numbers",
|
|
"data": "x",
|
|
"valid": true
|
|
}
|
|
]
|
|
}
|
|
]
|