xref: /PHP-7.2/ext/wddx/tests/bug35410_64bit.phpt (revision 17ccbeec)
1--TEST--
2#35410 (wddx_deserialize() doesn't handle large ints as keys properly)
3--SKIPIF--
4<?php
5	if (!extension_loaded("wddx")) print "skip";
6	if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
7?>
8--FILE--
9<?php
10$wddx = <<<WDX
11<wddxpacket version="1.0">
12<header>
13<comment>Content Configuration File</comment>
14</header>
15<data>
16<struct>
17<var name="content_queries">
18<struct>
19<var name="content_113300831086270200">
20<struct>
21<var name="113301888545229100">
22<struct>
23<var name="max">
24<number>10</number>
25</var>
26<var name="cache">
27<number>4</number>
28</var>
29<var name="order">
30<struct>
31<var name="content_113300831086270200">
32<struct>
33<var name="CMS_BUILD">
34<string>desc</string>
35</var>
36</struct>
37</var>
38</struct>
39</var>
40</struct>
41</var>
42</struct>
43</var>
44</struct>
45</var>
46</struct>
47</data>
48</wddxpacket>
49WDX;
50
51var_dump(wddx_deserialize($wddx));
52?>
53--EXPECT--
54array(1) {
55  ["content_queries"]=>
56  array(1) {
57    ["content_113300831086270200"]=>
58    array(1) {
59      [113301888545229100]=>
60      array(3) {
61        ["max"]=>
62        int(10)
63        ["cache"]=>
64        int(4)
65        ["order"]=>
66        array(1) {
67          ["content_113300831086270200"]=>
68          array(1) {
69            ["CMS_BUILD"]=>
70            string(4) "desc"
71          }
72        }
73      }
74    }
75  }
76}
77