| [ |
| { |
| "description": "validation of URI References", |
| "schema": { |
| "$schema": "https://json-schema.org/v1", |
| "format": "uri-reference" |
| }, |
| "tests": [ |
| { |
| "description": "all string formats ignore integers", |
| "data": 12, |
| "valid": true |
| }, |
| { |
| "description": "all string formats ignore floats", |
| "data": 13.7, |
| "valid": true |
| }, |
| { |
| "description": "all string formats ignore objects", |
| "data": {}, |
| "valid": true |
| }, |
| { |
| "description": "all string formats ignore arrays", |
| "data": [], |
| "valid": true |
| }, |
| { |
| "description": "all string formats ignore booleans", |
| "data": false, |
| "valid": true |
| }, |
| { |
| "description": "all string formats ignore nulls", |
| "data": null, |
| "valid": true |
| }, |
| { |
| "description": "a valid URI", |
| "data": "http://foo.bar/?baz=qux#quux", |
| "valid": true |
| }, |
| { |
| "description": "a valid protocol-relative URI Reference", |
| "data": "//foo.bar/?baz=qux#quux", |
| "valid": true |
| }, |
| { |
| "description": "a valid relative URI Reference", |
| "data": "/abc", |
| "valid": true |
| }, |
| { |
| "description": "an invalid URI Reference", |
| "data": "\\\\WINDOWS\\fileshare", |
| "valid": false |
| }, |
| { |
| "description": "a valid URI Reference", |
| "data": "abc", |
| "valid": true |
| }, |
| { |
| "description": "a valid URI fragment", |
| "data": "#fragment", |
| "valid": true |
| }, |
| { |
| "description": "an invalid URI fragment", |
| "data": "#frag\\ment", |
| "valid": false |
| }, |
| { |
| "description": "unescaped non US-ASCII characters", |
| "data": "/foobar®.txt", |
| "valid": false |
| }, |
| { |
| "description": "invalid backslash character", |
| "data": "https://example.org/foobar\\.txt", |
| "valid": false |
| }, |
| { |
| "description": "URI with leading-zero IPv4 is structurally valid as a reg-name", |
| "comment": "RFC 3986, Section 3.2.2: If an IP literal fails strict IPv4address parsing, it falls back to reg-name. A string of digits and dots is valid under unreserved characters. JSON Schema format asserts syntax, not scheme-specific DNS semantics.", |
| "data": "http://087.10.0.1/", |
| "valid": true |
| }, |
| { |
| "description": "URI with out-of-bounds IPv4 is structurally valid as a reg-name", |
| "comment": "RFC 3986, Section 3.2.2: Fallback to reg-name allows digits and dots.", |
| "data": "http://999.999.999.999/", |
| "valid": true |
| } |
| ] |
| } |
| ] |