xref: /PHP-8.0/ext/phar/tests/tar/all.phpt (revision 0c238ede)
1--TEST--
2Phar: test that creation of tar-based phar generates valid tar with all bells/whistles
3--SKIPIF--
4<?php
5if (!extension_loaded("phar")) die("skip");
6?>
7--INI--
8phar.readonly=0
9--FILE--
10<?php
11
12$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.tar.php';
13$pname = 'phar://' . $fname;
14$fname2 = __DIR__ . '/' . basename(__FILE__, '.php') . '.2.phar.tar.php';
15$pname2 = 'phar://' . $fname2;
16
17$phar = new Phar($fname);
18
19$phar->setMetadata('hi there');
20$phar['a'] = 'hi';
21$phar['a']->setMetadata('a meta');
22$phar['b'] = 'hi2';
23$phar['c'] = 'hi3';
24$phar['b']->chmod(0444);
25$phar->setStub("<?php ok __HALT_COMPILER();");
26$phar->setAlias("hime");
27unset($phar);
28copy($fname, $fname2);
29Phar::unlinkArchive($fname);
30var_dump(file_exists($fname), file_exists($pname . '/a'));
31
32$phar = new Phar($fname2);
33var_dump($phar['a']->getContent(), $phar['b']->getContent(), $phar['c']->getContent());
34var_dump((string) decoct(fileperms($pname2 . '/b')));
35var_dump($phar->getStub());
36var_dump($phar->getAlias());
37var_dump($phar->getMetadata());
38var_dump($phar['a']->getMetadata());
39?>
40--CLEAN--
41<?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.2.phar.tar.php'); ?>
42--EXPECT--
43bool(false)
44bool(false)
45string(2) "hi"
46string(3) "hi2"
47string(3) "hi3"
48string(6) "100444"
49string(32) "<?php ok __HALT_COMPILER(); ?>
50"
51string(4) "hime"
52string(8) "hi there"
53string(6) "a meta"
54