1--TEST--
2Check for array+string serialization
3--SKIPIF--
4--FILE--
5<?php
6if(!extension_loaded('msgpack')) {
7    dl('msgpack.' . PHP_SHLIB_SUFFIX);
8}
9
10function test($type, $variable) {
11    $serialized = msgpack_serialize($variable);
12    $unserialized = msgpack_unserialize($serialized);
13
14    echo $type, PHP_EOL;
15    echo bin2hex($serialized),  PHP_EOL;
16    var_dump($unserialized);
17    echo $unserialized == $variable ? 'OK' : 'ERROR', PHP_EOL;
18}
19
20test('array("foo", "foo", "foo")', array("foo", "foo", "foo"));
21test('array("one" => 1, "two" => 2))', array("one" => 1, "two" => 2));
22test('array("kek" => "lol", "lol" => "kek")', array("kek" => "lol", "lol" => "kek"));
23test('array("" => "empty")', array("" => "empty"));
24?>
25--EXPECT--
26array("foo", "foo", "foo")
2793a3666f6fa3666f6fa3666f6f
28array(3) {
29  [0]=>
30  string(3) "foo"
31  [1]=>
32  string(3) "foo"
33  [2]=>
34  string(3) "foo"
35}
36OK
37array("one" => 1, "two" => 2))
3882a36f6e6501a374776f02
39array(2) {
40  ["one"]=>
41  int(1)
42  ["two"]=>
43  int(2)
44}
45OK
46array("kek" => "lol", "lol" => "kek")
4782a36b656ba36c6f6ca36c6f6ca36b656b
48array(2) {
49  ["kek"]=>
50  string(3) "lol"
51  ["lol"]=>
52  string(3) "kek"
53}
54OK
55array("" => "empty")
5681a0a5656d707479
57array(1) {
58  [""]=>
59  string(5) "empty"
60}
61OK
62