1--TEST--
2Test basename() function : usage variations
3--FILE--
4<?php
5$file_path_variations = array (
6  /* paths with shortcut home dir char, with suffix variation */
7  array("~/home/user/bar"),
8  array("~/home/user/bar", ""),
9  array("~/home/user/bar", NULL),
10  array("~/home/user/bar", ' '),
11  array("~/home/user/bar.tar", ".tar"),
12  array("~/home/user/bar.tar", "~"),
13  array("~/home/user/bar.tar/", "~"),
14  array("~/home/user/bar.tar/", ""),
15  array("~/home/user/bar.tar", NULL),
16  array("~/home/user/bar.tar", ''),
17  array("~/home/user/bar.tar", " "),
18
19  /* paths with hostname:dir notation, with suffix variation */
20  array("hostname:/home/usr/bar.tar"),
21  array("hostname:/home/user/bar.tar", "home"),
22  array("hostname:/home/user/tbar.gz", "bar.gz"),
23  array("hostname:/home/user/tbar.gz", "/bar.gz"),
24  array("hostname:/home/user/tbar.gz", "/bar.gz/"),
25  array("hostname:/home/user/tbar.gz/", "/bar.gz/"),
26  array("hostname:/home/user/tbar.gz/", "/bar.gz/"),
27  array("hostname:/home/user/My Pics.gz/", "/bar.gz/"),
28  array("hostname:/home/user/My Pics.gz/", "Pics.gz/"),
29  array("hostname:/home/user/My Pics.gz/", "Pics.gz"),
30  array("hostname:/home/user/My Pics.gz/", ".gz"),
31  array("hostname:/home/user/My Pics.gz/"),
32  array("hostname:/home/user/My Pics.gz/", NULL),
33  array("hostname:/home/user/My Pics.gz/", ' '),
34  array("hostname:/home/user/My Pics.gz/", ''),
35  array("hostname:/home/user/My Pics.gz/", "My Pics.gz"),
36
37  /* paths with numeirc strings */
38  array("10.5"),
39  array("10.5", ".5"),
40  array("10.5", "10.5"),
41  array("10"),
42  array("105", "5"),
43  array("/10.5"),
44  array("10.5/"),
45  array("10/10.gz"),
46  array("0"),
47  array('0'),
48
49  /* paths and suffix given as same */
50  array("bar.gz", "bar.gz"),
51  array("/bar.gz", "/bar.gz"),
52  array("/bar.gz/", "/bar.gz/"),
53  array(" ", " "),
54  array(' ', ' '),
55  array(NULL, NULL),
56
57  /* path with spaces */
58  array(" "),
59  array(' '),
60
61  /* empty paths */
62  array(""),
63  array(''),
64  array(NULL),
65);
66
67function check_basename( $path_arrays ) {
68   $loop_counter = 1;
69   foreach ($path_arrays as $path) {
70     echo "\n--Iteration $loop_counter--\n"; $loop_counter++;
71     if( 1 == count($path) ) { // no suffix provided
72       var_dump( basename($path[0]) );
73     } else { // path as well as suffix provided,
74       var_dump( basename($path[0], $path[1]) );
75     }
76   }
77}
78
79echo "*** Testing possible variations in path and suffix ***\n";
80check_basename( $file_path_variations );
81
82echo "Done\n";
83?>
84--EXPECT--
85*** Testing possible variations in path and suffix ***
86
87--Iteration 1--
88string(3) "bar"
89
90--Iteration 2--
91string(3) "bar"
92
93--Iteration 3--
94string(3) "bar"
95
96--Iteration 4--
97string(3) "bar"
98
99--Iteration 5--
100string(3) "bar"
101
102--Iteration 6--
103string(7) "bar.tar"
104
105--Iteration 7--
106string(7) "bar.tar"
107
108--Iteration 8--
109string(7) "bar.tar"
110
111--Iteration 9--
112string(7) "bar.tar"
113
114--Iteration 10--
115string(7) "bar.tar"
116
117--Iteration 11--
118string(7) "bar.tar"
119
120--Iteration 12--
121string(7) "bar.tar"
122
123--Iteration 13--
124string(7) "bar.tar"
125
126--Iteration 14--
127string(1) "t"
128
129--Iteration 15--
130string(7) "tbar.gz"
131
132--Iteration 16--
133string(7) "tbar.gz"
134
135--Iteration 17--
136string(7) "tbar.gz"
137
138--Iteration 18--
139string(7) "tbar.gz"
140
141--Iteration 19--
142string(10) "My Pics.gz"
143
144--Iteration 20--
145string(10) "My Pics.gz"
146
147--Iteration 21--
148string(3) "My "
149
150--Iteration 22--
151string(7) "My Pics"
152
153--Iteration 23--
154string(10) "My Pics.gz"
155
156--Iteration 24--
157string(10) "My Pics.gz"
158
159--Iteration 25--
160string(10) "My Pics.gz"
161
162--Iteration 26--
163string(10) "My Pics.gz"
164
165--Iteration 27--
166string(10) "My Pics.gz"
167
168--Iteration 28--
169string(4) "10.5"
170
171--Iteration 29--
172string(2) "10"
173
174--Iteration 30--
175string(4) "10.5"
176
177--Iteration 31--
178string(2) "10"
179
180--Iteration 32--
181string(2) "10"
182
183--Iteration 33--
184string(4) "10.5"
185
186--Iteration 34--
187string(4) "10.5"
188
189--Iteration 35--
190string(5) "10.gz"
191
192--Iteration 36--
193string(1) "0"
194
195--Iteration 37--
196string(1) "0"
197
198--Iteration 38--
199string(6) "bar.gz"
200
201--Iteration 39--
202string(6) "bar.gz"
203
204--Iteration 40--
205string(6) "bar.gz"
206
207--Iteration 41--
208string(1) " "
209
210--Iteration 42--
211string(1) " "
212
213--Iteration 43--
214string(0) ""
215
216--Iteration 44--
217string(1) " "
218
219--Iteration 45--
220string(1) " "
221
222--Iteration 46--
223string(0) ""
224
225--Iteration 47--
226string(0) ""
227
228--Iteration 48--
229string(0) ""
230Done
231