pack()/unpack() tests

This commit is contained in:
Ilia Alshanetsky 2006-11-19 18:31:07 +00:00
parent 0d338f463c
commit 714abb7ea1

View File

@ -0,0 +1,379 @@
--TEST--
Generic pack()/unpack() tests
--FILE--
<?php
print_r(unpack("A", pack("A", "hello world")));
print_r(unpack("A*", pack("A*", "hello world")));
echo '"'.pack("A9", "hello").'"';
echo "\n";
print_r(unpack("C", pack("C", -127)));
print_r(unpack("C", pack("C", 127)));
print_r(unpack("C", pack("C", 255)));
print_r(unpack("C", pack("C", -129)));
print_r(unpack("H", pack("H", 0x04)));
print_r(unpack("I", pack("I", 65534)));
print_r(unpack("I", pack("I", 0)));
print_r(unpack("I", pack("I", -1000)));
print_r(unpack("I", pack("I", -64434)));
print_r(unpack("I", pack("I", 4294967296)));
print_r(unpack("I", pack("I", -4294967296)));
print_r(unpack("L", pack("L", 65534)));
print_r(unpack("L", pack("L", 0)));
print_r(unpack("L", pack("L", 2147483650)));
print_r(unpack("L", pack("L", 4294967295)));
print_r(unpack("L", pack("L", -2147483648)));
print_r(unpack("N", pack("N", 65534)));
print_r(unpack("N", pack("N", 0)));
print_r(unpack("N", pack("N", 2147483650)));
print_r(unpack("N", pack("N", 4294967296)));
print_r(unpack("N", pack("N", -2147483648)));
print_r(unpack("N", pack("N", -30000)));
print_r(unpack("S", pack("S", 65534)));
print_r(unpack("S", pack("S", 65537)));
print_r(unpack("S", pack("S", 0)));
print_r(unpack("S", pack("S", -1000)));
print_r(unpack("S", pack("S", -64434)));
print_r(unpack("S", pack("S", -65535)));
print_r(unpack("V", pack("V", 65534)));
print_r(unpack("V", pack("V", 0)));
print_r(unpack("V", pack("V", 2147483650)));
print_r(unpack("V", pack("V", 4294967296)));
print_r(unpack("V", pack("V", -2147483648)));
print_r(unpack("a", pack("a", "hello world")));
print_r(unpack("a*", pack("a*", "hello world")));
print_r(unpack("c", pack("c", -127)));
print_r(unpack("c", pack("c", 127)));
print_r(unpack("c", pack("c", 255)));
print_r(unpack("c", pack("c", -129)));
print_r(unpack("h", pack("h", 3000000)));
print_r(unpack("i", pack("i", 65534)));
print_r(unpack("i", pack("i", 0)));
print_r(unpack("i", pack("i", -1000)));
print_r(unpack("i", pack("i", -64434)));
print_r(unpack("i", pack("i", -65535)));
print_r(unpack("i", pack("i", -2147483647)));
print_r(unpack("l", pack("l", 65534)));
print_r(unpack("l", pack("l", 0)));
print_r(unpack("l", pack("l", 2147483650)));
print_r(unpack("l", pack("l", 4294967296)));
print_r(unpack("l", pack("l", -2147483648)));
print_r(unpack("n", pack("n", 65534)));
print_r(unpack("n", pack("n", 65537)));
print_r(unpack("n", pack("n", 0)));
print_r(unpack("n", pack("n", -1000)));
print_r(unpack("n", pack("n", -64434)));
print_r(unpack("n", pack("n", -65535)));
print_r(unpack("s", pack("s", 32767)));
print_r(unpack("s", pack("s", 65535)));
print_r(unpack("s", pack("s", 0)));
print_r(unpack("s", pack("s", -1000)));
print_r(unpack("s", pack("s", -64434)));
print_r(unpack("s", pack("s", -65535)));
print_r(unpack("v", pack("v", 65534)));
print_r(unpack("v", pack("v", 65537)));
print_r(unpack("v", pack("v", 0)));
print_r(unpack("v", pack("v", -1000)));
print_r(unpack("v", pack("v", -64434)));
print_r(unpack("v", pack("v", -65535)));
?>
--EXPECT--
Array
(
[1] => h
)
Array
(
[1] => hello world
)
"hello "
Array
(
[1] => 129
)
Array
(
[1] => 127
)
Array
(
[1] => 255
)
Array
(
[1] => 127
)
Array
(
[1] => 4
)
Array
(
[1] => 65534
)
Array
(
[1] => 0
)
Array
(
[1] => -1000
)
Array
(
[1] => -64434
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483648
)
Array
(
[1] => 65534
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483646
)
Array
(
[1] => -1
)
Array
(
[1] => -2147483648
)
Array
(
[1] => 65534
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483646
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483648
)
Array
(
[1] => -30000
)
Array
(
[1] => 65534
)
Array
(
[1] => 1
)
Array
(
[1] => 0
)
Array
(
[1] => 64536
)
Array
(
[1] => 1102
)
Array
(
[1] => 1
)
Array
(
[1] => 65534
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483646
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483648
)
Array
(
[1] => h
)
Array
(
[1] => hello world
)
Array
(
[1] => -127
)
Array
(
[1] => 127
)
Array
(
[1] => -1
)
Array
(
[1] => 127
)
Array
(
[1] => 3
)
Array
(
[1] => 65534
)
Array
(
[1] => 0
)
Array
(
[1] => -1000
)
Array
(
[1] => -64434
)
Array
(
[1] => -65535
)
Array
(
[1] => -2147483647
)
Array
(
[1] => 65534
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483646
)
Array
(
[1] => 0
)
Array
(
[1] => -2147483648
)
Array
(
[1] => 65534
)
Array
(
[1] => 1
)
Array
(
[1] => 0
)
Array
(
[1] => 64536
)
Array
(
[1] => 1102
)
Array
(
[1] => 1
)
Array
(
[1] => 32767
)
Array
(
[1] => -1
)
Array
(
[1] => 0
)
Array
(
[1] => -1000
)
Array
(
[1] => 1102
)
Array
(
[1] => 1
)
Array
(
[1] => 65534
)
Array
(
[1] => 1
)
Array
(
[1] => 0
)
Array
(
[1] => 64536
)
Array
(
[1] => 1102
)
Array
(
[1] => 1
)