| [ |
| { |
| "description": "validation of regular expressions", |
| "schema": {"format": "regex"}, |
| "tests": [ |
| { |
| "description": "a valid regular expression", |
| "data": "([abc])+\\s+$", |
| "valid": true |
| }, |
| { |
| "description": "a regular expression with unclosed parens is invalid", |
| "data": "^(abc]", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of date-time strings", |
| "schema": {"format": "date-time"}, |
| "tests": [ |
| { |
| "description": "a valid date-time string", |
| "data": "1963-06-19T08:30:06.283185Z", |
| "valid": true |
| }, |
| { |
| "description": "an invalid date-time string", |
| "data": "06/19/1963 08:30:06 PST", |
| "valid": false |
| }, |
| { |
| "description": "only RFC3339 not all of ISO 8601 are valid", |
| "data": "2013-350T01:01:01", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of date strings", |
| "schema": {"format": "date"}, |
| "tests": [ |
| { |
| "description": "a valid date string", |
| "data": "1963-06-19", |
| "valid": true |
| }, |
| { |
| "description": "an invalid date string", |
| "data": "06/19/1963", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of time strings", |
| "schema": {"format": "time"}, |
| "tests": [ |
| { |
| "description": "a valid time string", |
| "data": "08:30:06", |
| "valid": true |
| }, |
| { |
| "description": "an invalid time string", |
| "data": "8:30 AM", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of URIs", |
| "schema": {"format": "uri"}, |
| "tests": [ |
| { |
| "description": "a valid URI", |
| "data": "http://foo.bar/?baz=qux#quux", |
| "valid": true |
| }, |
| { |
| "description": "an invalid URI", |
| "data": "\\\\WINDOWS\\fileshare", |
| "valid": false |
| }, |
| { |
| "description": "an invalid URI though valid URI reference", |
| "data": "abc", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of e-mail addresses", |
| "schema": {"format": "email"}, |
| "tests": [ |
| { |
| "description": "a valid e-mail address", |
| "data": "joe.bloggs@example.com", |
| "valid": true |
| }, |
| { |
| "description": "an invalid e-mail address", |
| "data": "2962", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of IP addresses", |
| "schema": {"format": "ip-address"}, |
| "tests": [ |
| { |
| "description": "a valid IP address", |
| "data": "192.168.0.1", |
| "valid": true |
| }, |
| { |
| "description": "an IP address with too many components", |
| "data": "127.0.0.0.1", |
| "valid": false |
| }, |
| { |
| "description": "an IP address with out-of-range values", |
| "data": "256.256.256.256", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of IPv6 addresses", |
| "schema": {"format": "ipv6"}, |
| "tests": [ |
| { |
| "description": "a valid IPv6 address", |
| "data": "::1", |
| "valid": true |
| }, |
| { |
| "description": "an IPv6 address with out-of-range values", |
| "data": "12345::", |
| "valid": false |
| }, |
| { |
| "description": "an IPv6 address with too many components", |
| "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1", |
| "valid": false |
| }, |
| { |
| "description": "an IPv6 address containing illegal characters", |
| "data": "::laptop", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of host names", |
| "schema": {"format": "host-name"}, |
| "tests": [ |
| { |
| "description": "a valid host name", |
| "data": "www.example.com", |
| "valid": true |
| }, |
| { |
| "description": "a host name starting with an illegal character", |
| "data": "-a-host-name-that-starts-with--", |
| "valid": false |
| }, |
| { |
| "description": "a host name containing illegal characters", |
| "data": "not_a_valid_host_name", |
| "valid": false |
| }, |
| { |
| "description": "a host name with a component too long", |
| "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component", |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validation of CSS colors", |
| "schema": {"format": "color"}, |
| "tests": [ |
| { |
| "description": "a valid CSS color name", |
| "data": "fuchsia", |
| "valid": true |
| }, |
| { |
| "description": "a valid six-digit CSS color code", |
| "data": "#CC8899", |
| "valid": true |
| }, |
| { |
| "description": "a valid three-digit CSS color code", |
| "data": "#C89", |
| "valid": true |
| }, |
| { |
| "description": "an invalid CSS color code", |
| "data": "#00332520", |
| "valid": false |
| }, |
| { |
| "description": "an invalid CSS color name", |
| "data": "puce", |
| "valid": false |
| }, |
| { |
| "description": "a CSS color name containing invalid characters", |
| "data": "light_grayish_red-violet", |
| "valid": false |
| } |
| ] |
| } |
| ] |