1[
2 {
3 "description": "required validation",
4 "schema": {
5 "properties": {
6 "foo": {},
7 "bar": {}
8 },
9 "required": ["foo"]
10 },
11 "tests": [
12 {
13 "description": "present required property is valid",
14 "data": {"foo": 1},
15 "valid": true
16 },
17 {
18 "description": "non-present required property is invalid",
19 "data": {"bar": 1},
20 "valid": false
21 },
22 {
23 "description": "ignores arrays",
24 "data": [],
25 "valid": true
26 },
27 {
28 "description": "ignores strings",
29 "data": "",
30 "valid": true
31 },
32 {
33 "description": "ignores other non-objects",
34 "data": 12,
35 "valid": true
36 }
37 ]
38 },
39 {
40 "description": "required default validation",
41 "schema": {
42 "properties": {
43 "foo": {}
44 }
45 },
46 "tests": [
47 {
48 "description": "not required by default",
49 "data": {},
50 "valid": true
51 }
52 ]
53 },
54 {
55 "description": "required with empty array",
56 "schema": {
57 "properties": {
58 "foo": {}
59 },
60 "required": []
61 },
62 "tests": [
63 {
64 "description": "property not required",
65 "data": {},
66 "valid": true
67 }
68 ]
69 },
70 {
71 "description": "required with escaped characters",
72 "schema": {
73 "required": [
74 "foo\nbar",
75 "foo\"bar",
76 "foo\\bar",
77 "foo\rbar",
78 "foo\tbar",
79 "foo\fbar"
80 ]
81 },
82 "tests": [
83 {
84 "description": "object with all properties present is valid",
85 "data": {
86 "foo\nbar": 1,
87 "foo\"bar": 1,
88 "foo\\bar": 1,
89 "foo\rbar": 1,
90 "foo\tbar": 1,
91 "foo\fbar": 1
92 },
93 "valid": true
94 },
95 {
96 "description": "object with some properties missing is invalid",
97 "data": {
98 "foo\nbar": "1",
99 "foo\"bar": "1"
100 },
101 "valid": false
102 }
103 ]
104 }
105]
View as plain text