@@ -39,55 +39,49 @@ public function dataCoerceCases()
39
39
array ('array ' , '[45] ' , '45 ' , true ), // #5
40
40
array ('object ' , '{"a":"b"} ' , null , false ), // #6
41
41
array ('array ' , '[{"a":"b"}] ' , null , false ), // #7
42
+ array ('array ' , '[1,2] ' , array (1 , 2 ), false ), // #8
42
43
),
43
44
'integer ' => array (
44
- array ('string ' , '"45" ' , 45 , true ), // #8
45
- array ('integer ' , '45 ' , 45 , true ), // #9
46
- array ('boolean ' , 'true ' , 1 , true ), // #10
47
- array ('boolean ' , 'false ' , 0 , true ), // #11
48
- array ('NULL ' , 'null ' , 0 , true ), // #12
49
- array ('array ' , '["-45"] ' , -45 , true ), // #13
50
- array ('object ' , '{"a":"b"} ' , null , false ), // #14
51
- array ('array ' , '["ABC"] ' , null , false ), // #15
45
+ array ('string ' , '"45" ' , 45 , true ), // #9
46
+ array ('integer ' , '45 ' , 45 , true ), // #10
47
+ array ('boolean ' , 'true ' , 1 , true ), // #11
48
+ array ('boolean ' , 'false ' , 0 , true ), // #12
49
+ array ('NULL ' , 'null ' , 0 , true ), // #13
50
+ array ('array ' , '["-45"] ' , -45 , true ), // #14
51
+ array ('object ' , '{"a":"b"} ' , null , false ), // #15
52
+ array ('array ' , '["ABC"] ' , null , false ), // #16
52
53
),
53
54
'boolean ' => array (
54
- array ('string ' , '"true" ' , true , true ), // #16
55
- array ('integer ' , '1 ' , true , true ), // #17
56
- array ('boolean ' , 'true ' , true , true ), // #18
57
- array ('NULL ' , 'null ' , false , true ), // #19
58
- array ('array ' , '["true"] ' , true , true ), // #20
59
- array ('object ' , '{"a":"b"} ' , null , false ), // #21
60
- array ('string ' , '"" ' , null , false ), // #22
61
- array ('string ' , '"ABC" ' , null , false ), // #23
62
- array ('integer ' , '2 ' , null , false ), // #24
55
+ array ('string ' , '"true" ' , true , true ), // #17
56
+ array ('integer ' , '1 ' , true , true ), // #18
57
+ array ('boolean ' , 'true ' , true , true ), // #19
58
+ array ('NULL ' , 'null ' , false , true ), // #20
59
+ array ('array ' , '["true"] ' , true , true ), // #21
60
+ array ('object ' , '{"a":"b"} ' , null , false ), // #22
61
+ array ('string ' , '"" ' , null , false ), // #23
62
+ array ('string ' , '"ABC" ' , null , false ), // #24
63
+ array ('integer ' , '2 ' , null , false ), // #25
63
64
),
64
65
'NULL ' => array (
65
- array ('string ' , '"" ' , null , true ), // #25
66
- array ('integer ' , '0 ' , null , true ), // #26
67
- array ('boolean ' , 'false ' , null , true ), // #27
68
- array ('NULL ' , 'null ' , null , true ), // #28
69
- array ('array ' , '[0] ' , null , true ), // #29
70
- array ('object ' , '{"a":"b"} ' , null , false ), // #30
71
- array ('string ' , '"null" ' , null , false ), // #31
72
- array ('integer ' , '-1 ' , null , false ), // #32
66
+ array ('string ' , '"" ' , null , true ), // #26
67
+ array ('integer ' , '0 ' , null , true ), // #27
68
+ array ('boolean ' , 'false ' , null , true ), // #28
69
+ array ('NULL ' , 'null ' , null , true ), // #29
70
+ array ('array ' , '[0] ' , null , true ), // #30
71
+ array ('object ' , '{"a":"b"} ' , null , false ), // #31
72
+ array ('string ' , '"null" ' , null , false ), // #32
73
+ array ('integer ' , '-1 ' , null , false ), // #33
73
74
),
74
75
'array ' => array (
75
- array ('string ' , '"ABC" ' , array ('ABC ' ), true ), // #33
76
- array ('integer ' , '45 ' , array (45 ), true ), // #34
77
- array ('boolean ' , 'true ' , array (true ), true ), // #35
78
- array ('NULL ' , 'null ' , array (null ), true ), // #36
79
- array ('array ' , '["ABC"] ' , array ('ABC ' ), true ), // #37
80
- array ('object ' , '{"a":"b"} ' , null , false ), // #38
76
+ array ('string ' , '"ABC" ' , array ('ABC ' ), true ), // #34
77
+ array ('integer ' , '45 ' , array (45 ), true ), // #35
78
+ array ('boolean ' , 'true ' , array (true ), true ), // #36
79
+ array ('NULL ' , 'null ' , array (null ), true ), // #37
80
+ array ('array ' , '["ABC"] ' , array ('ABC ' ), true ), // #38
81
+ array ('object ' , '{"a":"b"} ' , null , false ), // #39
81
82
),
82
83
);
83
84
84
- // #39 check post-coercion validation (to array)
85
- $ tests [] = array (
86
- '{"properties":{"propertyOne":{"type":"array","items":[{"type":"number"}]}}} ' ,
87
- '{"propertyOne":"ABC"} ' ,
88
- 'string ' , null , null , false
89
- );
90
-
91
85
// #40 check multiple types (first valid)
92
86
$ tests [] = array (
93
87
'{"properties":{"propertyOne":{"type":["number", "string"]}}} ' ,
@@ -172,6 +166,13 @@ public function dataCoerceCases()
172
166
'string ' , 'boolean ' , false , true
173
167
);
174
168
169
+ // #52 check post-coercion validation (to array)
170
+ $ tests [] = array (
171
+ '{"properties":{"propertyOne":{"type":"array","items":[{"type":"number"}]}}} ' ,
172
+ '{"propertyOne":"ABC"} ' ,
173
+ 'string ' , null , null , false
174
+ );
175
+
175
176
foreach ($ types as $ toType => $ testCases ) {
176
177
foreach ($ testCases as $ testCase ) {
177
178
$ tests [] = array (
0 commit comments