xref: /php-src/ext/phar/tests/phar_oo_011.phpt (revision 01c6b48e)
1--TEST--
2Phar object: add file
3--EXTENSIONS--
4phar
5--INI--
6phar.readonly=0
7phar.require_hash=0
8--FILE--
9<?php
10
11$pharconfig = 0;
12
13require_once 'files/phar_oo_test.inc';
14
15$phar = new Phar($fname);
16
17$phar['hi/f.php'] = 'hi';
18var_dump(isset($phar['hi']));
19var_dump($phar['hi']);
20var_dump(isset($phar['hi/f.php']));
21echo $phar['hi/f.php'];
22echo "\n";
23
24$phar->setInfoClass('SplFileObject');
25$phar['hi/f.php'] = 'hi';
26var_dump(isset($phar['hi']));
27try {
28    var_dump($phar['hi']);
29} catch (Throwable $e) {
30    echo $e::class, ': ', $e->getMessage(), PHP_EOL;
31}
32var_dump(isset($phar['hi/f.php']));
33echo $phar['hi/f.php'];
34echo "\n";
35
36?>
37--CLEAN--
38<?php
39unlink(__DIR__ . '/files/phar_oo_011.phar.php');
40__halt_compiler();
41?>
42--EXPECTF--
43bool(true)
44object(PharFileInfo)#%d (2) {
45  ["pathName":"SplFileInfo":private]=>
46  string(%d) "phar://%s/phar_oo_011.phar.php/hi"
47  ["fileName":"SplFileInfo":private]=>
48  string(2) "hi"
49}
50bool(true)
51phar://%s/phar_oo_011.phar.php/hi/f.php
52bool(false)
53LogicException: Cannot use SplFileObject with directories
54bool(true)
55hi
56