xref: /PHP-8.2/ext/phar/tests/tar/rename_dir.phpt (revision 74859783)
1--TEST--
2Phar: rename_dir test tar-based
3--EXTENSIONS--
4phar
5--INI--
6phar.readonly=0
7phar.require_hash=0
8--FILE--
9<?php
10include __DIR__ . '/files/tarmaker.php.inc';
11$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar.tar';
12$alias = 'phar://' . $fname;
13
14$tar = new tarmaker($fname, 'none');
15$tar->init();
16$tar->addFile('.phar/stub.php', "<?php
17Phar::mapPhar('hio');
18__HALT_COMPILER(); ?>");
19
20$files = array();
21$files['a/x'] = 'a';
22
23foreach ($files as $n => $file) {
24    $tar->addFile($n, $file);
25}
26
27$tar->close();
28
29include $fname;
30
31echo file_get_contents($alias . '/a/x') . "\n";
32rename($alias . '/a', $alias . '/b');
33echo file_get_contents($alias . '/b/x') . "\n";
34echo file_get_contents($alias . '/a/x') . "\n";
35?>
36--CLEAN--
37<?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar'); ?>
38--EXPECTF--
39a
40a
41
42Warning: file_get_contents(phar://%srename_dir.phar.tar/a/x): Failed to open stream: phar error: "a/x" is not a file in phar "%srename_dir.phar.tar" in %srename_dir.php on line %d
43