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