@@ -55,21 +55,22 @@ public function testValidCoerceCases($input, $schema, $errors = array())
55
55
$ validator ->validate ($ value , $ schema , $ checkMode );
56
56
57
57
$ this ->assertTrue (gettype ($ value ->number ) == 'double ' );
58
+ $ this ->assertTrue (gettype ($ value ->boolNumber ) == 'integer ' );
59
+ $ this ->assertTrue (gettype ($ value ->nullNumber ) == 'integer ' );
60
+ $ this ->assertTrue (gettype ($ value ->arrayNumber ) == 'double ' );
58
61
$ this ->assertTrue (gettype ($ value ->integer ) == 'integer ' );
59
62
$ this ->assertTrue (gettype ($ value ->negativeInteger ) == 'integer ' );
60
63
$ this ->assertTrue (gettype ($ value ->boolean ) == 'boolean ' );
61
64
62
- $ this ->assertTrue ($ value ->number === 1.5 );
63
- $ this ->assertTrue ($ value ->integer === 1 );
64
- $ this ->assertTrue ($ value ->negativeInteger === -2 );
65
- $ this ->assertTrue ($ value ->boolean === true );
66
-
67
65
$ this ->assertTrue (gettype ($ value ->multitype1 ) == 'boolean ' );
68
66
$ this ->assertTrue (gettype ($ value ->multitype2 ) == 'double ' );
69
67
$ this ->assertTrue (gettype ($ value ->multitype3 ) == 'integer ' );
70
68
$ this ->assertTrue (gettype ($ value ->multitype4 ) == 'string ' );
71
69
72
70
$ this ->assertTrue ($ value ->number === 1.5 );
71
+ $ this ->assertTrue ($ value ->boolNumber === 1 );
72
+ $ this ->assertTrue ($ value ->nullNumber === 0 );
73
+ $ this ->assertTrue ($ value ->arrayNumber === 1.5 );
73
74
$ this ->assertTrue ($ value ->integer === 1 );
74
75
$ this ->assertTrue ($ value ->negativeInteger === -2 );
75
76
$ this ->assertTrue ($ value ->boolean === true );
@@ -124,6 +125,9 @@ public function getValidCoerceTests()
124
125
'{
125
126
"string":"string test",
126
127
"number":"1.5",
128
+ "boolNumber":true,
129
+ "nullNumber":null,
130
+ "arrayNumber":["1.5"],
127
131
"integer":"1",
128
132
"negativeInteger":"-2",
129
133
"boolean":"true",
@@ -152,6 +156,9 @@ public function getValidCoerceTests()
152
156
"properties":{
153
157
"string":{"type":"string"},
154
158
"number":{"type":"number"},
159
+ "boolNumber":{"type":"number"},
160
+ "nullNumber":{"type":"number"},
161
+ "arrayNumber":{"type":"number"},
155
162
"integer":{"type":"integer"},
156
163
"negativeInteger":{"type":"integer"},
157
164
"boolean":{"type":"boolean"},
@@ -285,6 +292,18 @@ public function getInvalidCoerceTests()
285
292
"additionalProperties":false
286
293
} ' ,
287
294
),
295
+ array ( // #7
296
+ '{
297
+ "integer":"5f"
298
+ } ' ,
299
+ '{
300
+ "type":"object",
301
+ "properties": {
302
+ "integer":{"type":"integer"}
303
+ },
304
+ "additionalProperties":false
305
+ } ' ,
306
+ ),
288
307
);
289
308
}
290
309
}
0 commit comments