File manager - Edit - /opt/alt/tests/alt-php85-pecl-mongodb_2.1.4-3.el8/tests/bug0592.phpt
Back
--TEST-- PHPC-592: Property name corrupted when unserializing 64-bit integer on 32-bit platform --SKIPIF-- <?php if (4 !== PHP_INT_SIZE) { die('skip Only for 32-bit platform'); } ?> --FILE-- <?php require_once __DIR__ . '/../utils/basic.inc'; $tests = [ '{ "x": { "$numberLong": "-2147483648" }}', '{ "x": { "$numberLong": "2147483647" }}', '{ "x": { "$numberLong": "4294967294" }}', '{ "x": { "$numberLong": "4294967295" }}', '{ "x": { "$numberLong": "9223372036854775807" }}', '{ "longFieldName": { "$numberLong": "-2147483648" }}', '{ "longFieldName": { "$numberLong": "2147483647" }}', '{ "longFieldName": { "$numberLong": "4294967294" }}', '{ "longFieldName": { "$numberLong": "4294967295" }}', '{ "longFieldName": { "$numberLong": "9223372036854775807" }}', ]; foreach ($tests as $json) { printf("Test %s\n", $json); var_dump(MongoDB\BSON\Document::fromJSON($json)->toPHP()); echo "\n"; } ?> ===DONE=== <?php exit(0); ?> --EXPECTF-- Test { "x": { "$numberLong": "-2147483648" }} object(stdClass)#%d (%d) { ["x"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(11) "-2147483648" } } Test { "x": { "$numberLong": "2147483647" }} object(stdClass)#%d (%d) { ["x"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(10) "2147483647" } } Test { "x": { "$numberLong": "4294967294" }} object(stdClass)#%d (%d) { ["x"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(10) "4294967294" } } Test { "x": { "$numberLong": "4294967295" }} object(stdClass)#%d (%d) { ["x"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(10) "4294967295" } } Test { "x": { "$numberLong": "9223372036854775807" }} object(stdClass)#%d (%d) { ["x"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(19) "9223372036854775807" } } Test { "longFieldName": { "$numberLong": "-2147483648" }} object(stdClass)#%d (%d) { ["longFieldName"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(11) "-2147483648" } } Test { "longFieldName": { "$numberLong": "2147483647" }} object(stdClass)#%d (%d) { ["longFieldName"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(10) "2147483647" } } Test { "longFieldName": { "$numberLong": "4294967294" }} object(stdClass)#%d (%d) { ["longFieldName"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(10) "4294967294" } } Test { "longFieldName": { "$numberLong": "4294967295" }} object(stdClass)#%d (%d) { ["longFieldName"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(10) "4294967295" } } Test { "longFieldName": { "$numberLong": "9223372036854775807" }} object(stdClass)#%d (%d) { ["longFieldName"]=> object(MongoDB\BSON\Int64)#%d (%d) { ["integer"]=> string(19) "9223372036854775807" } } ===DONE===
| ver. 1.4 |
Github
|
.
| PHP 8.2.30 | Generation time: 0.21 |
proxy
|
phpinfo
|
Settings