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