1--TEST--
2Phar: Phar::isValidPharFilename()
3--SKIPIF--
4<?php if (!extension_loaded("phar")) die("skip");?>
5--INI--
6phar.readonly=1
7--FILE--
8<?php
9chdir(__DIR__);
10Phar::isValidPharFilename(array());
11echo "*\n";
12var_dump(Phar::isValidPharFilename('*'));
13var_dump(Phar::isValidPharFilename('*', true));
14var_dump(Phar::isValidPharFilename('*', false));
15
16echo "\nboo.phar\n";
17var_dump(Phar::isValidPharFilename('boo.phar'));
18var_dump(Phar::isValidPharFilename('boo.phar', true));
19var_dump(Phar::isValidPharFilename('boo.phar', false));
20
21echo "\nboo.tar\n";
22var_dump(Phar::isValidPharFilename('boo.tar'));
23var_dump(Phar::isValidPharFilename('boo.tar', true));
24var_dump(Phar::isValidPharFilename('boo.tar', false));
25
26echo "\nboo.phar.tar\n";
27var_dump(Phar::isValidPharFilename('boo.phar.tar'));
28var_dump(Phar::isValidPharFilename('boo.phar.tar', true));
29var_dump(Phar::isValidPharFilename('boo.phar.tar', false));
30
31mkdir(__DIR__ . '/.phar');
32
33echo "\n.phar/boo.tar\n";
34var_dump(Phar::isValidPharFilename('.phar/boo.tar'));
35var_dump(Phar::isValidPharFilename('.phar/boo.tar', true));
36var_dump(Phar::isValidPharFilename('.phar/boo.tar', false));
37
38echo "\n.phar.tar\n";
39var_dump(Phar::isValidPharFilename('.phar.tar'));
40var_dump(Phar::isValidPharFilename('.phar.tar', true));
41var_dump(Phar::isValidPharFilename('.phar.tar', false));
42
43echo "\n.phar.phar\n";
44var_dump(Phar::isValidPharFilename('.phar.phar'));
45var_dump(Phar::isValidPharFilename('.phar.phar', true));
46var_dump(Phar::isValidPharFilename('.phar.phar', false));
47
48echo "\n.phar.phart\n";
49var_dump(Phar::isValidPharFilename('.phar.phart'));
50var_dump(Phar::isValidPharFilename('.phar.phart', true));
51var_dump(Phar::isValidPharFilename('.phar.phart', false));
52
53echo "\nmy.pharmy\n";
54var_dump(Phar::isValidPharFilename('my.pharmy'));
55var_dump(Phar::isValidPharFilename('my.pharmy', true));
56var_dump(Phar::isValidPharFilename('my.pharmy', false));
57
58echo "\nphar.zip\n";
59var_dump(Phar::isValidPharFilename('phar.zip'));
60var_dump(Phar::isValidPharFilename('phar.zip', true));
61var_dump(Phar::isValidPharFilename('phar.zip', false));
62
63echo "\nphar.zip.phar\n";
64var_dump(Phar::isValidPharFilename('phar.zip.phar'));
65var_dump(Phar::isValidPharFilename('phar.zip.phar', true));
66var_dump(Phar::isValidPharFilename('phar.zip.phar', false));
67
68echo "\ndir.phar.php\n";
69var_dump(Phar::isValidPharFilename('dir.phar.php'));
70var_dump(Phar::isValidPharFilename('dir.phar.php', true));
71var_dump(Phar::isValidPharFilename('dir.phar.php', false));
72
73?>
74===DONE===
75--CLEAN--
76<?php
77rmdir(__DIR__ . '/.phar');
78--EXPECTF--
79Warning: Phar::isValidPharFilename() expects parameter 1 to be a valid path, array given in %sphar_isvalidpharfilename.php on line %d
80*
81bool(false)
82bool(false)
83bool(false)
84
85boo.phar
86bool(true)
87bool(true)
88bool(false)
89
90boo.tar
91bool(false)
92bool(false)
93bool(true)
94
95boo.phar.tar
96bool(true)
97bool(true)
98bool(false)
99
100.phar/boo.tar
101bool(false)
102bool(false)
103bool(true)
104
105.phar.tar
106bool(false)
107bool(false)
108bool(true)
109
110.phar.phar
111bool(true)
112bool(true)
113bool(false)
114
115.phar.phart
116bool(false)
117bool(false)
118bool(true)
119
120my.pharmy
121bool(false)
122bool(false)
123bool(true)
124
125phar.zip
126bool(false)
127bool(false)
128bool(true)
129
130phar.zip.phar
131bool(true)
132bool(true)
133bool(false)
134
135dir.phar.php
136bool(true)
137bool(true)
138bool(false)
139===DONE===
140