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