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__);
10var_dump(Phar::isValidPharFilename('*'));
11var_dump(Phar::isValidPharFilename('*', true));
12var_dump(Phar::isValidPharFilename('*', false));
13
14echo "\nboo.phar\n";
15var_dump(Phar::isValidPharFilename('boo.phar'));
16var_dump(Phar::isValidPharFilename('boo.phar', true));
17var_dump(Phar::isValidPharFilename('boo.phar', false));
18
19echo "\nboo.tar\n";
20var_dump(Phar::isValidPharFilename('boo.tar'));
21var_dump(Phar::isValidPharFilename('boo.tar', true));
22var_dump(Phar::isValidPharFilename('boo.tar', false));
23
24echo "\nboo.phar.tar\n";
25var_dump(Phar::isValidPharFilename('boo.phar.tar'));
26var_dump(Phar::isValidPharFilename('boo.phar.tar', true));
27var_dump(Phar::isValidPharFilename('boo.phar.tar', false));
28
29mkdir(__DIR__ . '/.phar');
30
31echo "\n.phar/boo.tar\n";
32var_dump(Phar::isValidPharFilename('.phar/boo.tar'));
33var_dump(Phar::isValidPharFilename('.phar/boo.tar', true));
34var_dump(Phar::isValidPharFilename('.phar/boo.tar', false));
35
36echo "\n.phar.tar\n";
37var_dump(Phar::isValidPharFilename('.phar.tar'));
38var_dump(Phar::isValidPharFilename('.phar.tar', true));
39var_dump(Phar::isValidPharFilename('.phar.tar', false));
40
41echo "\n.phar.phar\n";
42var_dump(Phar::isValidPharFilename('.phar.phar'));
43var_dump(Phar::isValidPharFilename('.phar.phar', true));
44var_dump(Phar::isValidPharFilename('.phar.phar', false));
45
46echo "\n.phar.phart\n";
47var_dump(Phar::isValidPharFilename('.phar.phart'));
48var_dump(Phar::isValidPharFilename('.phar.phart', true));
49var_dump(Phar::isValidPharFilename('.phar.phart', false));
50
51echo "\nmy.pharmy\n";
52var_dump(Phar::isValidPharFilename('my.pharmy'));
53var_dump(Phar::isValidPharFilename('my.pharmy', true));
54var_dump(Phar::isValidPharFilename('my.pharmy', false));
55
56echo "\nphar.zip\n";
57var_dump(Phar::isValidPharFilename('phar.zip'));
58var_dump(Phar::isValidPharFilename('phar.zip', true));
59var_dump(Phar::isValidPharFilename('phar.zip', false));
60
61echo "\nphar.zip.phar\n";
62var_dump(Phar::isValidPharFilename('phar.zip.phar'));
63var_dump(Phar::isValidPharFilename('phar.zip.phar', true));
64var_dump(Phar::isValidPharFilename('phar.zip.phar', false));
65
66echo "\ndir.phar.php\n";
67var_dump(Phar::isValidPharFilename('dir.phar.php'));
68var_dump(Phar::isValidPharFilename('dir.phar.php', true));
69var_dump(Phar::isValidPharFilename('dir.phar.php', false));
70
71?>
72--CLEAN--
73<?php
74rmdir(__DIR__ . '/.phar');
75?>
76--EXPECT--
77bool(false)
78bool(false)
79bool(false)
80
81boo.phar
82bool(true)
83bool(true)
84bool(false)
85
86boo.tar
87bool(false)
88bool(false)
89bool(true)
90
91boo.phar.tar
92bool(true)
93bool(true)
94bool(false)
95
96.phar/boo.tar
97bool(false)
98bool(false)
99bool(true)
100
101.phar.tar
102bool(false)
103bool(false)
104bool(true)
105
106.phar.phar
107bool(true)
108bool(true)
109bool(false)
110
111.phar.phart
112bool(false)
113bool(false)
114bool(true)
115
116my.pharmy
117bool(false)
118bool(false)
119bool(true)
120
121phar.zip
122bool(false)
123bool(false)
124bool(true)
125
126phar.zip.phar
127bool(true)
128bool(true)
129bool(false)
130
131dir.phar.php
132bool(true)
133bool(true)
134bool(false)
135