xref: /PHP-8.4/ext/phar/tests/zip/phar_setalias2.phpt (revision 74859783)
1--TEST--
2Phar::setAlias() error zip-based
3--EXTENSIONS--
4phar
5--INI--
6phar.require_hash=0
7phar.readonly=0
8--FILE--
9<?php
10
11$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.zip';
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$phar->stopBuffering();
27
28echo $phar->getAlias() . "\n";
29$phar->setAlias('test');
30echo $phar->getAlias() . "\n";
31$b = $phar;
32$phar = new Phar(__DIR__ . '/notphar.phar');
33try {
34    $phar->setAlias('test');
35} catch (Exception $e) {
36    echo $e->getMessage() . "\n";
37}
38?>
39--CLEAN--
40<?php
41unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.zip');
42__HALT_COMPILER();
43?>
44--EXPECTF--
45hio
46test
47alias "test" is already used for archive "%sphar_setalias2.phar.zip" and cannot be used for other archives
48