xref: /PHP-8.0/ext/phar/tests/tar/phar_setalias2.phpt (revision f8d79582)
1--TEST--
2Phar::setAlias() error tar-based
3--SKIPIF--
4<?php if (!extension_loaded("phar")) die("skip"); ?>
5--INI--
6phar.require_hash=0
7phar.readonly=0
8--FILE--
9<?php
10
11$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.tar';
12
13$phar = new Phar($fname);
14$phar->setStub('<?php echo "first stub\n"; __HALT_COMPILER(); ?>');
15$phar->setAlias('hio');
16
17$files = array();
18
19$files['a'] = 'a';
20$files['b'] = 'b';
21$files['c'] = 'c';
22
23foreach ($files as $n => $file) {
24    $phar[$n] = $file;
25}
26
27$phar->stopBuffering();
28
29echo $phar->getAlias() . "\n";
30$phar->setAlias('test');
31echo $phar->getAlias() . "\n";
32$b = $phar;
33$phar = new Phar(__DIR__ . '/notphar.phar');
34
35try {
36    $phar->setAlias('test');
37} catch (Exception $e) {
38    echo $e->getMessage() . "\n";
39}
40
41?>
42--CLEAN--
43<?php
44unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
45unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phartmp.tar');
46__HALT_COMPILER();
47?>
48--EXPECTF--
49hio
50test
51alias "test" is already used for archive "%sphar_setalias2.phar.tar" and cannot be used for other archives
52