Viewing File: /opt/alt/tests/alt-php83-pecl-msgpack_2.2.0-1.el8/tests/137.phpt

--TEST--
unpack/pack str8
--INI--
msgpack.use_str8_serialization = 1
--SKIPIF--
<?php
    if (version_compare(PHP_VERSION, '5.2.0') < 0) {
        echo "skip tests in PHP 5.2 or newer";
    }
--FILE--
<?php
    if(!extension_loaded('msgpack')) {
        dl('msgpack.' . PHP_SHLIB_SUFFIX);
    }

    $str = "Simple test for short string - type str8";
    $str8 = chr(0xD9) . chr(strlen($str)) . $str;
    echo msgpack_unpack($str8) . "\n";

    //assert str8 serialization works, and default for use use_str8_serialization is 1
    $data = msgpack_pack($str);
    var_dump(bin2hex($data));
    echo ($data[0] == chr(0xD9) && $data[1] == chr(strlen($str)) ?  "OK" : "FAILED"), PHP_EOL;

    ini_set('msgpack.use_str8_serialization', 0);
    $data = msgpack_pack($str);
    var_dump(bin2hex($data));
    echo ($data[0] == chr(0xDA) && $data[2] == chr(strlen($str)) ?  "OK" : "FAILED"), PHP_EOL;

?>
--EXPECTF--
Simple test for short string - type str8
string(84) "d92853696d706c65207465737420666f722073686f727420737472696e67202d20747970652073747238"
OK
string(86) "da002853696d706c65207465737420666f722073686f727420737472696e67202d20747970652073747238"
OK
Back to Directory File Manager
<