diff options
author | bapt <bapt@FreeBSD.org> | 2014-03-22 17:28:14 +0000 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2014-03-22 17:28:14 +0000 |
commit | b471b8e16d6f2c205ae497402bad0a60c9cd6fa8 (patch) | |
tree | aabc973b2e4479277f8fe9aa0e8ed539826fdca3 /contrib/libucl/tests/schema/enum.json | |
parent | 841158cbfbfc6b699dbc10892c6cb878a66a5d7e (diff) | |
parent | 6b4d859b54b28a9d46c317ff21676aa37241f6de (diff) | |
download | FreeBSD-src-b471b8e16d6f2c205ae497402bad0a60c9cd6fa8.zip FreeBSD-src-b471b8e16d6f2c205ae497402bad0a60c9cd6fa8.tar.gz |
Update to 20140321
This brings schema validation
MFC after: 1 week
Diffstat (limited to 'contrib/libucl/tests/schema/enum.json')
-rw-r--r-- | contrib/libucl/tests/schema/enum.json | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/contrib/libucl/tests/schema/enum.json b/contrib/libucl/tests/schema/enum.json new file mode 100644 index 0000000..f124436 --- /dev/null +++ b/contrib/libucl/tests/schema/enum.json @@ -0,0 +1,72 @@ +[ + { + "description": "simple enum validation", + "schema": {"enum": [1, 2, 3]}, + "tests": [ + { + "description": "one of the enum is valid", + "data": 1, + "valid": true + }, + { + "description": "something else is invalid", + "data": 4, + "valid": false + } + ] + }, + { + "description": "heterogeneous enum validation", + "schema": {"enum": [6, "foo", [], true, {"foo": 12}]}, + "tests": [ + { + "description": "one of the enum is valid", + "data": [], + "valid": true + }, + { + "description": "something else is invalid", + "data": null, + "valid": false + }, + { + "description": "objects are deep compared", + "data": {"foo": false}, + "valid": false + } + ] + }, + { + "description": "enums in properties", + "schema": { + "type":"object", + "properties": { + "foo": {"enum":["foo"]}, + "bar": {"enum":["bar"]} + }, + "required": ["bar"] + }, + "tests": [ + { + "description": "both properties are valid", + "data": {"foo":"foo", "bar":"bar"}, + "valid": true + }, + { + "description": "missing optional property is valid", + "data": {"bar":"bar"}, + "valid": true + }, + { + "description": "missing required property is invalid", + "data": {"foo":"foo"}, + "valid": false + }, + { + "description": "missing all properties is invalid", + "data": {}, + "valid": false + } + ] + } +] |