[ { "description": "whitelisted unknown format is valid", "schema": { "format": "allowedUnknown" }, "tests": [ { "description": "any string is valid", "data": "any value", "valid": true } ] }, { "description": "format: regex", "schema": { "format": "regex" }, "tests": [ { "description": "valid regex", "data": "[0-9]", "valid": true }, { "description": "invalid regex", "data": "[9-0]", "valid": false }, { "description": "not string is valid", "data": 123, "valid": true } ] }, { "description": "format: uri", "schema": { "format": "uri" }, "tests": [ { "description": "valid uri", "data": "urn:isbn:978-3-531-18621-4", "valid": true }, { "description": "invalid relative uri-reference", "data": "/abc", "valid": false } ] }, { "description": "format: uri-template", "schema": { "format": "uri-template" }, "tests": [ { "description": "valid uri-template", "data": "http://example.com/dictionary/{term:1}/{term}", "valid": true }, { "description": "invalid uri-template", "data": "http://example.com/dictionary/{term:1}/{term", "valid": false } ] }, { "description": "format: hostname", "schema": { "format": "hostname" }, "tests": [ { "description": "valid hostname", "data": "123.example.com", "valid": true }, { "description": "valid hostname #312", "data": "lead-routing-qa.lvuucj.0001.use1.cache.amazonaws.com", "valid": true } ] }, { "description": "validation of URL strings", "schema": {"format": "url"}, "tests": [ { "data": "http://foo.com/blah_blah", "description": "a valid URL string", "valid": true }, { "data": "http://foo.com/blah_blah/", "description": "a valid URL string", "valid": true }, { "data": "http://foo.com/blah_blah_(wikipedia)", "description": "a valid URL string", "valid": true }, { "data": "http://foo.com/blah_blah_(wikipedia)_(again)", "description": "a valid URL string", "valid": true }, { "data": "http://www.example.com/wpstyle/?p=364", "description": "a valid URL string", "valid": true }, { "data": "https://www.example.com/foo/?bar=baz&inga=42&quux", "description": "a valid URL string", "valid": true }, { "data": "http://✪df.ws/123", "description": "a valid URL string", "valid": true }, { "data": "http://userid:password@example.com:8080", "description": "a valid URL string", "valid": true }, { "data": "http://userid:password@example.com:8080/", "description": "a valid URL string", "valid": true }, { "data": "http://userid@example.com", "description": "a valid URL string", "valid": true }, { "data": "http://userid@example.com/", "description": "a valid URL string", "valid": true }, { "data": "http://userid@example.com:8080", "description": "a valid URL string", "valid": true }, { "data": "http://userid@example.com:8080/", "description": "a valid URL string", "valid": true }, { "data": "http://userid:password@example.com", "description": "a valid URL string", "valid": true }, { "data": "http://userid:password@example.com/", "description": "a valid URL string", "valid": true }, { "data": "http://142.42.1.1/", "description": "a valid URL string", "valid": true }, { "data": "http://142.42.1.1:8080/", "description": "a valid URL string", "valid": true }, { "data": "http://➡.ws/䨹", "description": "a valid URL string", "valid": true }, { "data": "http://⌘.ws", "description": "a valid URL string", "valid": true }, { "data": "http://⌘.ws/", "description": "a valid URL string", "valid": true }, { "data": "http://foo.com/blah_(wikipedia)#cite-1", "description": "a valid URL string", "valid": true }, { "data": "http://foo.com/blah_(wikipedia)_blah#cite-1", "description": "a valid URL string", "valid": true }, { "data": "http://foo.com/unicode_(✪)_in_parens", "description": "a valid URL string", "valid": true }, { "data": "http://foo.com/(something)?after=parens", "description": "a valid URL string", "valid": true }, { "data": "http://☺.damowmow.com/", "description": "a valid URL string", "valid": true }, { "data": "http://code.google.com/events/#&product=browser", "description": "a valid URL string", "valid": true }, { "data": "http://j.mp", "description": "a valid URL string", "valid": true }, { "data": "ftp://foo.bar/baz", "description": "a valid URL string", "valid": true }, { "data": "http://foo.bar/?q=Test%20URL-encoded%20stuff", "description": "a valid URL string", "valid": true }, { "data": "http://مثال.إختبار", "description": "a valid URL string", "valid": true }, { "data": "http://例子.测试", "description": "a valid URL string", "valid": true }, { "data": "http://उदाहरण.परीक्षा", "description": "a valid URL string", "valid": true }, { "data": "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com", "description": "a valid URL string", "valid": true }, { "data": "http://1337.net", "description": "a valid URL string", "valid": true }, { "data": "http://a.b-c.de", "description": "a valid URL string", "valid": true }, { "data": "http://223.255.255.254", "description": "a valid URL string", "valid": true }, { "data": "http://", "description": "an invalid URL string", "valid": false }, { "data": "http://.", "description": "an invalid URL string", "valid": false }, { "data": "http://..", "description": "an invalid URL string", "valid": false }, { "data": "http://../", "description": "an invalid URL string", "valid": false }, { "data": "http://?", "description": "an invalid URL string", "valid": false }, { "data": "http://??", "description": "an invalid URL string", "valid": false }, { "data": "http://??/", "description": "an invalid URL string", "valid": false }, { "data": "http://#", "description": "an invalid URL string", "valid": false }, { "data": "http://##", "description": "an invalid URL string", "valid": false }, { "data": "http://##/", "description": "an invalid URL string", "valid": false }, { "data": "http://foo.bar?q=Spaces should be encoded", "description": "an invalid URL string", "valid": false }, { "data": "//", "description": "an invalid URL string", "valid": false }, { "data": "//a", "description": "an invalid URL string", "valid": false }, { "data": "///a", "description": "an invalid URL string", "valid": false }, { "data": "///", "description": "an invalid URL string", "valid": false }, { "data": "http:///a", "description": "an invalid URL string", "valid": false }, { "data": "foo.com", "description": "an invalid URL string", "valid": false }, { "data": "rdar://1234", "description": "an invalid URL string", "valid": false }, { "data": "h://test", "description": "an invalid URL string", "valid": false }, { "data": "http:// shouldfail.com", "description": "an invalid URL string", "valid": false }, { "data": ":// should fail", "description": "an invalid URL string", "valid": false }, { "data": "http://foo.bar/foo(bar)baz quux", "description": "an invalid URL string", "valid": false }, { "data": "ftps://foo.bar/", "description": "an invalid URL string", "valid": false }, { "data": "http://-error-.invalid/", "description": "an invalid URL string", "valid": false }, { "data": "http://a.b--c.de/", "description": "an invalid URL string", "valid": false }, { "data": "http://-a.b.co", "description": "an invalid URL string", "valid": false }, { "data": "http://a.b-.co", "description": "an invalid URL string", "valid": false }, { "data": "http://0.0.0.0", "description": "an invalid URL string", "valid": false }, { "data": "http://10.1.1.0", "description": "an invalid URL string", "valid": false }, { "data": "http://10.1.1.255", "description": "an invalid URL string", "valid": false }, { "data": "http://224.1.1.1", "description": "an invalid URL string", "valid": false }, { "data": "http://1.1.1.1.1", "description": "an invalid URL string", "valid": false }, { "data": "http://123.123.123", "description": "an invalid URL string", "valid": false }, { "data": "http://3628126748", "description": "an invalid URL string", "valid": false }, { "data": "http://.www.foo.bar/", "description": "an invalid URL string", "valid": false }, { "data": "http://www.foo.bar./", "description": "an invalid URL string", "valid": false }, { "data": "http://.www.foo.bar./", "description": "an invalid URL string", "valid": false }, { "data": "http://10.1.1.1", "description": "an invalid URL string", "valid": false }, { "data": "http://10.1.1.254", "description": "an invalid URL string", "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": "only RFC3339 not all of ISO 8601 are valid", "data": "2013-350", "valid": false } ] }, { "description": "validation of time strings", "schema": {"format": "time"}, "tests": [ { "description": "a valid time", "data": "12:34:56", "valid": true }, { "description": "a valid time with milliseconds", "data": "12:34:56.789", "valid": true }, { "description": "a valid time with timezone", "data": "12:34:56+01:00", "valid": true }, { "description": "an invalid time format", "data": "12.34.56", "valid": false }, { "description": "an invalid time", "data": "12:34:67", "valid": false }, { "description": "a valid time (leap second)", "data": "23:59:60", "valid": true } ] }, { "description": "validation of date-time strings", "schema": {"format": "date-time"}, "tests": [ { "description": "a valid date-time string", "data": "1963-06-19T12:13:14Z", "valid": true }, { "description": "an invalid date-time string (no time)", "data": "1963-06-19", "valid": false }, { "description": "an invalid date-time string (additional part)", "data": "1963-06-19T12:13:14ZTinvalid", "valid": false }, { "description": "an invalid date-time string (invalid date)", "data": "1963-20-19T12:13:14Z", "valid": false }, { "description": "an invalid date-time string (invalid time)", "data": "1963-06-19T12:13:67Z", "valid": false }, { "description": "a valid date-time string (leap second)", "data": "2016-12-31T23:59:60Z", "valid": true } ] }, { "description": "validation of uuid strings", "schema": {"format": "uuid"}, "tests": [ { "description": "a valid uuid", "data": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", "valid": true }, { "description": "a valid uuid with uri prefix", "data": "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6", "valid": true }, { "description": "not valid uuid", "data": "f81d4fae7dec11d0a76500a0c91e6bf6", "valid": false } ] }, { "description": "validation of JSON-pointer strings", "schema": {"format": "json-pointer"}, "tests": [ { "description": "a valid JSON-pointer", "data": "/foo/bar~0/baz~1/%a", "valid": true }, { "description": "empty string is valid", "data": "", "valid": true }, { "description": "/ is valid", "data": "/", "valid": true }, { "description": "not a valid JSON-pointer (~ not escaped)", "data": "/foo/bar~", "valid": false }, { "description": "valid JSON-pointer with empty segment", "data": "/foo//bar", "valid": true }, { "description": "valid JSON-pointer with the last empty segment", "data": "/foo/bar/", "valid": true } ] }, { "description": "validation of JSON-pointer URI fragment strings", "schema": {"format": "json-pointer-uri-fragment"}, "tests": [ { "description": "a valid JSON-pointer as uri fragment", "data": "#/foo/%25a", "valid": true }, { "description": "not a valid JSON-pointer as uri fragment (% not URL-encoded)", "data": "#/foo/%a", "valid": false }, { "description": "valid JSON-pointer with empty segment as uri fragment", "data": "#/foo//bar", "valid": true }, { "description": "valid JSON-pointer with the last empty segment as uri fragment", "data": "#/foo/bar/", "valid": true } ] }, { "description": "validation of relative JSON-pointer strings", "schema": {"format": "relative-json-pointer"}, "tests": [ { "description": "a valid relative JSON-pointer", "data": "1/foo/bar~0/baz~1/%a", "valid": true }, { "description": "a valid relative JSON-pointer with #", "data": "2#", "valid": true }, { "description": "parent reference is valid", "data": "1", "valid": true }, { "description": "empty string is invalid", "data": "", "valid": false }, { "description": "not a valid relative JSON-pointer (~ not escaped)", "data": "1/foo/bar~", "valid": false }, { "description": "not a valid relative JSON-pointer (leading 0)", "data": "01/foo", "valid": false }, { "description": "not a valid relative JSON-pointer with # (leading 0)", "data": "02#", "valid": false }, { "description": "valid relative JSON-pointer with empty segment", "data": "1/foo//bar", "valid": true }, { "description": "valid relative JSON-pointer with the last empty segment", "data": "1/foo/bar/", "valid": true } ] } ]