php-src/ext/standard/tests/strings/pack_Z.phpt
Remi Collet 4d8d5d83fc Fixed Bug #63738 unpack: back result with Z format
Fix result for empty string.
Same output as perl
perl -e 'print unpack("Z2","\0\0");' => ""
perl -e 'print unpack("Z2","A\0");'  => "A"
perl -e 'print unpack("Z2","AB\0");' => "AB"
perl -e 'print unpack("Z2","ABC\0");'=> "AB"
2012-12-11 16:30:08 +01:00

51 lines
797 B
PHP

--TEST--
pack()/unpack(): "Z" format
--FILE--
<?php
var_dump(
pack("Z0", "f"),
pack("Z5", "foo\0"),
pack("Z4", "fooo"),
pack("Z4", "foo"),
pack("Z*", "foo"),
unpack("Z*", "foo\0\rbar\0 \t\r\n"),
unpack("Z9", "foo\0\rbar\0 \t\r\n"),
unpack("Z2", "\0"),
unpack("Z2", "\0\0"),
unpack("Z2", "A\0"),
unpack("Z2", "AB\0"),
unpack("Z2", "ABC")
);
--EXPECTF--
Warning: unpack(): Type Z: not enough input, need 2, have 1 in %s on line %d
string(0) ""
string(5) "foo%c%c"
string(4) "foo%c"
string(4) "foo%c"
string(4) "foo%c"
array(1) {
[1]=>
string(3) "foo"
}
array(1) {
[1]=>
string(3) "foo"
}
bool(false)
array(1) {
[1]=>
string(0) ""
}
array(1) {
[1]=>
string(1) "A"
}
array(1) {
[1]=>
string(2) "AB"
}
array(1) {
[1]=>
string(2) "AB"
}