1--TEST--
2Check for array unserialization
3--SKIPIF--
4--FILE--
5<?php
6if(!extension_loaded('msgpack')) {
7    dl('msgpack.' . PHP_SHLIB_SUFFIX);
8}
9
10function test($type, $variable) {
11    $unserialized = msgpack_unserialize(pack('H*', $variable));
12
13    echo $type, PHP_EOL;
14    echo $variable, PHP_EOL;
15    var_dump($unserialized);
16}
17
18test('empty array:', '90');
19test('array(1, 2, 3)', '93010203');
20test('array(array(1, 2, 3), arr...', '93930102039304050693070809');
21test('array("foo", "FOO", "Foo")', '93a3666f6fa3464f4fa3466f6f');
22test('array(1, 123.45,  true, ...', '9701cb405edccccccccccdc3c293010293090807c0a3666f6f');
23?>
24--EXPECT--
25empty array:
2690
27array(0) {
28}
29array(1, 2, 3)
3093010203
31array(3) {
32  [0]=>
33  int(1)
34  [1]=>
35  int(2)
36  [2]=>
37  int(3)
38}
39array(array(1, 2, 3), arr...
4093930102039304050693070809
41array(3) {
42  [0]=>
43  array(3) {
44    [0]=>
45    int(1)
46    [1]=>
47    int(2)
48    [2]=>
49    int(3)
50  }
51  [1]=>
52  array(3) {
53    [0]=>
54    int(4)
55    [1]=>
56    int(5)
57    [2]=>
58    int(6)
59  }
60  [2]=>
61  array(3) {
62    [0]=>
63    int(7)
64    [1]=>
65    int(8)
66    [2]=>
67    int(9)
68  }
69}
70array("foo", "FOO", "Foo")
7193a3666f6fa3464f4fa3466f6f
72array(3) {
73  [0]=>
74  string(3) "foo"
75  [1]=>
76  string(3) "FOO"
77  [2]=>
78  string(3) "Foo"
79}
80array(1, 123.45,  true, ...
819701cb405edccccccccccdc3c293010293090807c0a3666f6f
82array(7) {
83  [0]=>
84  int(1)
85  [1]=>
86  float(123.45)
87  [2]=>
88  bool(true)
89  [3]=>
90  bool(false)
91  [4]=>
92  array(3) {
93    [0]=>
94    int(1)
95    [1]=>
96    int(2)
97    [2]=>
98    array(3) {
99      [0]=>
100      int(9)
101      [1]=>
102      int(8)
103      [2]=>
104      int(7)
105    }
106  }
107  [5]=>
108  NULL
109  [6]=>
110  string(3) "foo"
111}
112