forked from udan11/php-xz
-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathxzstream.phpt
63 lines (58 loc) · 1.2 KB
/
xzstream.phpt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
--TEST--
Test lzma stream
--SKIPIF--
<?php
if (!extension_loaded("xz")) {
die("skip XZ extension is not loaded!");
}
if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
?>
--FILE--
<?php
$tmp1 = tempnam(sys_get_temp_dir(), "LZMA");
$tmp2 = tempnam(sys_get_temp_dir(), "LZMA");
$tmp3 = tempnam(sys_get_temp_dir(), "LZMA");
$len0 = filesize(PHP_BINARY);
echo "Compress level 2 ($tmp1)\n";
$opts = [
'xz' => [
'compression_level' => '2',
'max_memory' => 0,
]
];
$ctx = stream_context_create($opts);
copy(PHP_BINARY, "compress.lzma://$tmp1");
$len1 = filesize($tmp1);
var_dump($len1 > 0);
var_dump($len1 <= $len0);
echo "Compress level 9 ($tmp2)\n";
$opts = [
'xz' => [
'compression_level' => '9',
'max_memory' => 64*1024*1024,
]
];
$ctx = stream_context_create($opts);
copy(PHP_BINARY, "compress.lzma://$tmp2", $ctx);
$len2 = filesize($tmp2);
var_dump($len2 > 0);
var_dump($len2 <= $len1);
echo "Uncompress ($tmp3)\n";
copy("compress.lzma://$tmp1", $tmp3);
$len3 = filesize($tmp3);
var_dump($len3 > 0);
var_dump($len3 == $len0);
unlink($tmp1);
unlink($tmp2);
unlink($tmp3);
?>
--EXPECTF--
Compress level 2 (%s)
bool(true)
bool(true)
Compress level 9 (%s)
bool(true)
bool(true)
Uncompress (%s)
bool(true)
bool(true)