1--TEST--
2Phar::convertToPhar() with global metadata
3--EXTENSIONS--
4phar
5zlib
6--INI--
7phar.require_hash=0
8phar.readonly=0
9--FILE--
10<?php
11
12$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar';
13$fname2 = __DIR__ . '/' . basename(__FILE__, '.php') . '2.phar';
14
15$phar = new Phar($fname);
16$phar['a.txt'] = 'some text';
17$phar->setMetadata('hi');
18$phar->stopBuffering();
19var_dump($phar->isFileFormat(Phar::TAR));
20var_dump(strlen($phar->getStub()));
21var_dump($phar->getMetadata());
22
23$phar = $phar->convertToExecutable(Phar::TAR);
24var_dump($phar->isFileFormat(Phar::TAR));
25var_dump($phar->getStub());
26var_dump($phar->getMetadata());
27
28$phar['a'] = 'hi there';
29
30$phar = $phar->convertToExecutable(Phar::PHAR, Phar::GZ);
31var_dump($phar->isFileFormat(Phar::PHAR));
32var_dump($phar->isCompressed());
33var_dump(strlen($phar->getStub()));
34var_dump($phar->getMetadata());
35
36copy($fname . '.gz', $fname2);
37
38$phar = new Phar($fname2);
39var_dump($phar->isFileFormat(Phar::PHAR));
40var_dump($phar->isCompressed() == Phar::GZ);
41var_dump(strlen($phar->getStub()));
42var_dump($phar->getMetadata());
43
44?>
45--CLEAN--
46<?php
47unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.gz');
48unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.phar');
49unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar');
50unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
51?>
52--EXPECT--
53bool(false)
54int(6641)
55string(2) "hi"
56bool(true)
57string(60) "<?php // tar-based phar archive stub file
58__HALT_COMPILER();"
59string(2) "hi"
60bool(true)
61int(4096)
62int(6641)
63string(2) "hi"
64bool(true)
65bool(true)
66int(6641)
67string(2) "hi"
68