File: bug0623.phpt

package info (click to toggle)
php-mongodb 1.15.0%2B1.11.1%2B1.9.2%2B1.7.5-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 63,984 kB
  • sloc: ansic: 328,429; xml: 10,797; php: 4,235; sh: 179; python: 47; pascal: 36; makefile: 3
file content (49 lines) | stat: -rw-r--r-- 1,590 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
--TEST--
PHPC-623: Numeric keys limited to unsigned 32-bit integer
--SKIPIF--
<?php if (8 !== PHP_INT_SIZE) { die('skip Only for 64-bit platform'); } ?>
--FILE--
<?php

require_once __DIR__ . '/../utils/basic.inc';

$tests = [
    [
        '9781449410247' => 'a',
        'X9781449410247' => 'b',
        9781449410248 => 'c',
    ],
    [
        '4294967295' => 'a',
        '4294967296' => 'b',
        '4294967297' => 'c',
    ]
];

foreach ($tests as $test) {
    printf("Test %s\n", json_encode($test));
    $bson = fromPHP($test);
    hex_dump($bson);
    echo toJSON($bson), "\n\n";
}

?>
===DONE===
<?php exit(0); ?>
--EXPECT--
Test {"9781449410247":"a","X9781449410247":"b","9781449410248":"c"}
     0 : 45 00 00 00 02 39 37 38 31 34 34 39 34 31 30 32  [E....97814494102]
    10 : 34 37 00 02 00 00 00 61 00 02 58 39 37 38 31 34  [47.....a..X97814]
    20 : 34 39 34 31 30 32 34 37 00 02 00 00 00 62 00 02  [49410247.....b..]
    30 : 39 37 38 31 34 34 39 34 31 30 32 34 38 00 02 00  [9781449410248...]
    40 : 00 00 63 00 00                                   [..c..]
{ "9781449410247" : "a", "X9781449410247" : "b", "9781449410248" : "c" }

Test {"4294967295":"a","4294967296":"b","4294967297":"c"}
     0 : 3b 00 00 00 02 34 32 39 34 39 36 37 32 39 35 00  [;....4294967295.]
    10 : 02 00 00 00 61 00 02 34 32 39 34 39 36 37 32 39  [....a..429496729]
    20 : 36 00 02 00 00 00 62 00 02 34 32 39 34 39 36 37  [6.....b..4294967]
    30 : 32 39 37 00 02 00 00 00 63 00 00                 [297.....c..]
{ "4294967295" : "a", "4294967296" : "b", "4294967297" : "c" }

===DONE===