1[
2 {
3 "description": "validation of regular expressions",
4 "schema": {"format": "regex"},
5 "tests": [
6 {
7 "description": "a valid regular expression",
8 "data": "([abc])+\\s+$",
9 "valid": true
10 },
11 {
12 "description": "a regular expression with unclosed parens is invalid",
13 "data": "^(abc]",
14 "valid": false
15 }
16 ]
17 },
18 {
19 "description": "validation of date-time strings",
20 "schema": {"format": "date-time"},
21 "tests": [
22 {
23 "description": "a valid date-time string",
24 "data": "1963-06-19T08:30:06.283185Z",
25 "valid": true
26 },
27 {
28 "description": "an invalid date-time string",
29 "data": "06/19/1963 08:30:06 PST",
30 "valid": false
31 },
32 {
33 "description": "case-insensitive T and Z",
34 "data": "1963-06-19t08:30:06.283185z",
35 "valid": true
36 },
37 {
38 "description": "only RFC3339 not all of ISO 8601 are valid",
39 "data": "2013-350T01:01:01",
40 "valid": false
41 }
42 ]
43 },
44 {
45 "description": "validation of date strings",
46 "schema": {"format": "date"},
47 "tests": [
48 {
49 "description": "a valid date string",
50 "data": "1963-06-19",
51 "valid": true
52 },
53 {
54 "description": "an invalid date string",
55 "data": "06/19/1963",
56 "valid": false
57 }
58 ]
59 },
60 {
61 "description": "validation of time strings",
62 "schema": {"format": "time"},
63 "tests": [
64 {
65 "description": "a valid time string",
66 "data": "08:30:06",
67 "valid": true
68 },
69 {
70 "description": "an invalid time string",
71 "data": "8:30 AM",
72 "valid": false
73 }
74 ]
75 },
76 {
77 "description": "validation of URIs",
78 "schema": {"format": "uri"},
79 "tests": [
80 {
81 "description": "a valid URI",
82 "data": "http://foo.bar/?baz=qux#quux",
83 "valid": true
84 },
85 {
86 "description": "an invalid protocol-relative URI Reference",
87 "data": "//foo.bar/?baz=qux#quux",
88 "valid": false
89 },
90 {
91 "description": "an invalid URI",
92 "data": "\\\\WINDOWS\\fileshare",
93 "valid": false
94 },
95 {
96 "description": "an invalid URI though valid URI reference",
97 "data": "abc",
98 "valid": false
99 }
100 ]
101 },
102 {
103 "description": "validation of e-mail addresses",
104 "schema": {"format": "email"},
105 "tests": [
106 {
107 "description": "a valid e-mail address",
108 "data": "joe.bloggs@example.com",
109 "valid": true
110 },
111 {
112 "description": "an invalid e-mail address",
113 "data": "2962",
114 "valid": false
115 }
116 ]
117 },
118 {
119 "description": "validation of IP addresses",
120 "schema": {"format": "ip-address"},
121 "tests": [
122 {
123 "description": "a valid IP address",
124 "data": "192.168.0.1",
125 "valid": true
126 },
127 {
128 "description": "an IP address with too many components",
129 "data": "127.0.0.0.1",
130 "valid": false
131 },
132 {
133 "description": "an IP address with out-of-range values",
134 "data": "256.256.256.256",
135 "valid": false
136 }
137 ]
138 },
139 {
140 "description": "validation of IPv6 addresses",
141 "schema": {"format": "ipv6"},
142 "tests": [
143 {
144 "description": "a valid IPv6 address",
145 "data": "::1",
146 "valid": true
147 },
148 {
149 "description": "an IPv6 address with out-of-range values",
150 "data": "12345::",
151 "valid": false
152 },
153 {
154 "description": "an IPv6 address with too many components",
155 "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1",
156 "valid": false
157 },
158 {
159 "description": "an IPv6 address containing illegal characters",
160 "data": "::laptop",
161 "valid": false
162 }
163 ]
164 },
165 {
166 "description": "validation of host names",
167 "schema": {"format": "host-name"},
168 "tests": [
169 {
170 "description": "a valid host name",
171 "data": "www.example.com",
172 "valid": true
173 },
174 {
175 "description": "a host name starting with an illegal character",
176 "data": "-a-host-name-that-starts-with--",
177 "valid": false
178 },
179 {
180 "description": "a host name containing illegal characters",
181 "data": "not_a_valid_host_name",
182 "valid": false
183 },
184 {
185 "description": "a host name with a component too long",
186 "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component",
187 "valid": false
188 }
189 ]
190 },
191 {
192 "description": "validation of CSS colors",
193 "schema": {"format": "color"},
194 "tests": [
195 {
196 "description": "a valid CSS color name",
197 "data": "fuchsia",
198 "valid": true
199 },
200 {
201 "description": "a valid six-digit CSS color code",
202 "data": "#CC8899",
203 "valid": true
204 },
205 {
206 "description": "a valid three-digit CSS color code",
207 "data": "#C89",
208 "valid": true
209 },
210 {
211 "description": "an invalid CSS color code",
212 "data": "#00332520",
213 "valid": false
214 },
215 {
216 "description": "an invalid CSS color name",
217 "data": "puce",
218 "valid": false
219 },
220 {
221 "description": "a CSS color name containing invalid characters",
222 "data": "light_grayish_red-violet",
223 "valid": false
224 }
225 ]
226 }
227]
View as plain text