Lines Matching defs:schema

9 function assertValid(type, instance, schema, types) {
13 validator["validate" + type](instance, schema, "");
25 function assertNotValid(type, instance, schema, errors, types) {
29 validator["validate" + type](instance, schema, "");
75 var schema = {
117 assertValid("", instance, schema);
119 assertValid("", instance, schema);
122 assertNotValid("", instance, schema,
127 assertNotValid("", instance, schema,
129 [schema.items[0].properties.url.pattern])]);
131 assertValid("", instance, schema);
134 assertNotValid("", instance, schema,
136 [schema.items[0].properties.id.minimum])]);
140 var schema = {
144 assertValid("", "foo", schema);
145 assertValid("", 42, schema);
146 assertValid("", false, schema);
147 assertNotValid("", "42", schema, [formatError("invalidEnum",
148 [schema.enum.join(", ")])]);
149 assertNotValid("", null, schema, [formatError("invalidEnum",
150 [schema.enum.join(", ")])]);
154 var schema = {
162 assertValid("", null, schema);
163 assertValid("", undefined, schema);
164 assertValid("", 42, schema);
165 assertValid("", {foo: "bar"}, schema);
167 assertNotValid("", "foo", schema, [formatError("invalidChoice", [])]);
168 assertNotValid("", [], schema, [formatError("invalidChoice", [])]);
169 assertNotValid("", {foo: 42}, schema, [formatError("invalidChoice", [])]);
176 var schema = {
180 assertValid("", 42, schema);
181 assertNotValid("", "42", schema,
184 // Make the derived schema more restrictive
186 assertNotValid("", 42, schema, [formatError("numberMinValue", [43])]);
187 assertValid("", 43, schema);
191 var schema = {
202 assertValid("Object", {foo:"foo", bar:42}, schema);
203 assertNotValid("Object", {foo:"foo", bar:42,"extra":true}, schema,
205 assertNotValid("Object", {foo:"foo"}, schema,
207 assertNotValid("Object", {foo:"foo", bar:"42"}, schema,
210 schema.additionalProperties = { type: "any" };
211 assertValid("Object", {foo:"foo", bar:42, "extra":true}, schema);
212 assertValid("Object", {foo:"foo", bar:42, "extra":"foo"}, schema);
214 schema.additionalProperties = { type: "boolean" };
215 assertValid("Object", {foo:"foo", bar:42, "extra":true}, schema);
216 assertNotValid("Object", {foo:"foo", bar:42, "extra":"foo"}, schema,
219 schema.properties.bar.optional = true;
220 assertValid("Object", {foo:"foo", bar:42}, schema);
221 assertValid("Object", {foo:"foo"}, schema);
222 assertValid("Object", {foo:"foo", bar:null}, schema);
223 assertValid("Object", {foo:"foo", bar:undefined}, schema);
224 assertNotValid("Object", {foo:"foo", bar:"42"}, schema,
242 var schema = {
275 assertValid("", {foo:"foo",bar:4,baz:"ab"}, schema, referencedTypes);
280 // Failures in validation, but succesful schema reference.
281 assertNotValid("", {foo:"foo",bar:4,baz:"a"}, schema,
283 assertNotValid("", {foo:"foo",bar:20,baz:"abc"}, schema,
288 assertNotValid("", {foo:"foo",bar:4,baz:"ab"}, schema,
299 var schema = {
310 assertValid("Array", ["42", 42], schema);
311 assertNotValid("Array", ["42", 42, "anything"], schema,
312 [formatError("arrayMaxItems", [schema.items.length])]);
313 assertNotValid("Array", ["42"], schema, [formatError("itemRequired")]);
314 assertNotValid("Array", [42, 42], schema,
317 schema.additionalProperties = { type: "any" };
318 assertValid("Array", ["42", 42, "anything"], schema);
319 assertValid("Array", ["42", 42, []], schema);
321 schema.additionalProperties = { type: "boolean" };
322 assertNotValid("Array", ["42", 42, "anything"], schema,
324 assertValid("Array", ["42", 42, false], schema);
326 schema.items[0].optional = true;
327 assertValid("Array", ["42", 42], schema);
328 assertValid("Array", [, 42], schema);
329 assertValid("Array", [null, 42], schema);
330 assertValid("Array", [undefined, 42], schema);
331 assertNotValid("Array", [42, 42], schema,
336 var schema = {
344 assertValid("Array", ["x", "x"], schema);
345 assertValid("Array", ["x", "x", "x"], schema);
347 assertNotValid("Array", ["x"], schema,
348 [formatError("arrayMinItems", [schema.minItems])]);
349 assertNotValid("Array", ["x", "x", "x", "x"], schema,
350 [formatError("arrayMaxItems", [schema.maxItems])]);
351 assertNotValid("Array", [42], schema,
352 [formatError("arrayMinItems", [schema.minItems]),
357 var schema = {
363 assertValid("String", "x", schema);
364 assertValid("String", "xxxxxxxxxx", schema);
366 assertNotValid("String", "y", schema,
367 [formatError("stringPattern", [schema.pattern])]);
368 assertNotValid("String", "xxxxxxxxxxx", schema,
369 [formatError("stringMaxLength", [schema.maxLength])]);
370 assertNotValid("String", "", schema,
371 [formatError("stringMinLength", [schema.minLength]),
372 formatError("stringPattern", [schema.pattern])]);
376 var schema = {
382 assertValid("Number", 1, schema);
383 assertValid("Number", 50, schema);
384 assertValid("Number", 100, schema);
385 assertValid("Number", 88.88, schema);
387 assertNotValid("Number", 0.5, schema,
388 [formatError("numberMinValue", [schema.minimum])]);
389 assertNotValid("Number", 100.1, schema,
390 [formatError("numberMaxValue", [schema.maximum])]);
391 assertNotValid("Number", 100.111, schema,
392 [formatError("numberMaxValue", [schema.maximum]),
393 formatError("numberMaxDecimal", [schema.maxDecimal])]);
397 assertNotValid("Number", nan, schema,
400 assertNotValid("Number", Number.POSITIVE_INFINITY, schema,
402 formatError("numberMaxValue", [schema.maximum])
405 assertNotValid("Number", Number.NEGATIVE_INFINITY, schema,
407 formatError("numberMinValue", [schema.minimum])