Return to basename_variation1-win32.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: basename() with various inputs 3: --SKIPIF-- 4: <?php 5: if (substr(PHP_OS, 0, 3) != 'WIN') { 6: die('skip Windows only basename tests'); 7: } 8: ?> 9: --FILE-- 10: <?php 11: 12: $prefixes = array ( 13: 14: // drive letters 15: "A:/", 16: "Z:/", 17: "A:\\", 18: 19: // other prefixes 20: "http://", 21: "blah://", 22: "blah:\\", 23: "hostname:", 24: 25: // home directory ~ 26: "~/", 27: "~\\", 28: ); 29: 30: $paths = array ( 31: 32: "foo", 33: "foo/", 34: "foo\\", 35: "foo.bar", 36: "foo.bar/", 37: "foo.bar\\", 38: "dir/foo.bar", 39: "dir\\foo.bar", 40: "dir with spaces/foo.bar", 41: "dir with spaces\\foo.bar", 42: 43: ); 44: 45: foreach ($prefixes as $prefix) { 46: foreach ($paths as $path) { 47: $input = $prefix . $path; 48: echo "basename for path $input is:\n"; 49: var_dump(basename($input)); 50: } 51: } 52: 53: echo "\ndone\n"; 54: 55: ?> 56: --EXPECT-- 57: basename for path A:/foo is: 58: string(3) "foo" 59: basename for path A:/foo/ is: 60: string(3) "foo" 61: basename for path A:/foo\ is: 62: string(3) "foo" 63: basename for path A:/foo.bar is: 64: string(7) "foo.bar" 65: basename for path A:/foo.bar/ is: 66: string(7) "foo.bar" 67: basename for path A:/foo.bar\ is: 68: string(7) "foo.bar" 69: basename for path A:/dir/foo.bar is: 70: string(7) "foo.bar" 71: basename for path A:/dir\foo.bar is: 72: string(7) "foo.bar" 73: basename for path A:/dir with spaces/foo.bar is: 74: string(7) "foo.bar" 75: basename for path A:/dir with spaces\foo.bar is: 76: string(7) "foo.bar" 77: basename for path Z:/foo is: 78: string(3) "foo" 79: basename for path Z:/foo/ is: 80: string(3) "foo" 81: basename for path Z:/foo\ is: 82: string(3) "foo" 83: basename for path Z:/foo.bar is: 84: string(7) "foo.bar" 85: basename for path Z:/foo.bar/ is: 86: string(7) "foo.bar" 87: basename for path Z:/foo.bar\ is: 88: string(7) "foo.bar" 89: basename for path Z:/dir/foo.bar is: 90: string(7) "foo.bar" 91: basename for path Z:/dir\foo.bar is: 92: string(7) "foo.bar" 93: basename for path Z:/dir with spaces/foo.bar is: 94: string(7) "foo.bar" 95: basename for path Z:/dir with spaces\foo.bar is: 96: string(7) "foo.bar" 97: basename for path A:\foo is: 98: string(3) "foo" 99: basename for path A:\foo/ is: 100: string(3) "foo" 101: basename for path A:\foo\ is: 102: string(3) "foo" 103: basename for path A:\foo.bar is: 104: string(7) "foo.bar" 105: basename for path A:\foo.bar/ is: 106: string(7) "foo.bar" 107: basename for path A:\foo.bar\ is: 108: string(7) "foo.bar" 109: basename for path A:\dir/foo.bar is: 110: string(7) "foo.bar" 111: basename for path A:\dir\foo.bar is: 112: string(7) "foo.bar" 113: basename for path A:\dir with spaces/foo.bar is: 114: string(7) "foo.bar" 115: basename for path A:\dir with spaces\foo.bar is: 116: string(7) "foo.bar" 117: basename for path http://foo is: 118: string(3) "foo" 119: basename for path http://foo/ is: 120: string(3) "foo" 121: basename for path http://foo\ is: 122: string(3) "foo" 123: basename for path http://foo.bar is: 124: string(7) "foo.bar" 125: basename for path http://foo.bar/ is: 126: string(7) "foo.bar" 127: basename for path http://foo.bar\ is: 128: string(7) "foo.bar" 129: basename for path http://dir/foo.bar is: 130: string(7) "foo.bar" 131: basename for path http://dir\foo.bar is: 132: string(7) "foo.bar" 133: basename for path http://dir with spaces/foo.bar is: 134: string(7) "foo.bar" 135: basename for path http://dir with spaces\foo.bar is: 136: string(7) "foo.bar" 137: basename for path blah://foo is: 138: string(3) "foo" 139: basename for path blah://foo/ is: 140: string(3) "foo" 141: basename for path blah://foo\ is: 142: string(3) "foo" 143: basename for path blah://foo.bar is: 144: string(7) "foo.bar" 145: basename for path blah://foo.bar/ is: 146: string(7) "foo.bar" 147: basename for path blah://foo.bar\ is: 148: string(7) "foo.bar" 149: basename for path blah://dir/foo.bar is: 150: string(7) "foo.bar" 151: basename for path blah://dir\foo.bar is: 152: string(7) "foo.bar" 153: basename for path blah://dir with spaces/foo.bar is: 154: string(7) "foo.bar" 155: basename for path blah://dir with spaces\foo.bar is: 156: string(7) "foo.bar" 157: basename for path blah:\foo is: 158: string(3) "foo" 159: basename for path blah:\foo/ is: 160: string(3) "foo" 161: basename for path blah:\foo\ is: 162: string(3) "foo" 163: basename for path blah:\foo.bar is: 164: string(7) "foo.bar" 165: basename for path blah:\foo.bar/ is: 166: string(7) "foo.bar" 167: basename for path blah:\foo.bar\ is: 168: string(7) "foo.bar" 169: basename for path blah:\dir/foo.bar is: 170: string(7) "foo.bar" 171: basename for path blah:\dir\foo.bar is: 172: string(7) "foo.bar" 173: basename for path blah:\dir with spaces/foo.bar is: 174: string(7) "foo.bar" 175: basename for path blah:\dir with spaces\foo.bar is: 176: string(7) "foo.bar" 177: basename for path hostname:foo is: 178: string(12) "hostname:foo" 179: basename for path hostname:foo/ is: 180: string(12) "hostname:foo" 181: basename for path hostname:foo\ is: 182: string(12) "hostname:foo" 183: basename for path hostname:foo.bar is: 184: string(16) "hostname:foo.bar" 185: basename for path hostname:foo.bar/ is: 186: string(16) "hostname:foo.bar" 187: basename for path hostname:foo.bar\ is: 188: string(16) "hostname:foo.bar" 189: basename for path hostname:dir/foo.bar is: 190: string(7) "foo.bar" 191: basename for path hostname:dir\foo.bar is: 192: string(7) "foo.bar" 193: basename for path hostname:dir with spaces/foo.bar is: 194: string(7) "foo.bar" 195: basename for path hostname:dir with spaces\foo.bar is: 196: string(7) "foo.bar" 197: basename for path ~/foo is: 198: string(3) "foo" 199: basename for path ~/foo/ is: 200: string(3) "foo" 201: basename for path ~/foo\ is: 202: string(3) "foo" 203: basename for path ~/foo.bar is: 204: string(7) "foo.bar" 205: basename for path ~/foo.bar/ is: 206: string(7) "foo.bar" 207: basename for path ~/foo.bar\ is: 208: string(7) "foo.bar" 209: basename for path ~/dir/foo.bar is: 210: string(7) "foo.bar" 211: basename for path ~/dir\foo.bar is: 212: string(7) "foo.bar" 213: basename for path ~/dir with spaces/foo.bar is: 214: string(7) "foo.bar" 215: basename for path ~/dir with spaces\foo.bar is: 216: string(7) "foo.bar" 217: basename for path ~\foo is: 218: string(3) "foo" 219: basename for path ~\foo/ is: 220: string(3) "foo" 221: basename for path ~\foo\ is: 222: string(3) "foo" 223: basename for path ~\foo.bar is: 224: string(7) "foo.bar" 225: basename for path ~\foo.bar/ is: 226: string(7) "foo.bar" 227: basename for path ~\foo.bar\ is: 228: string(7) "foo.bar" 229: basename for path ~\dir/foo.bar is: 230: string(7) "foo.bar" 231: basename for path ~\dir\foo.bar is: 232: string(7) "foo.bar" 233: basename for path ~\dir with spaces/foo.bar is: 234: string(7) "foo.bar" 235: basename for path ~\dir with spaces\foo.bar is: 236: string(7) "foo.bar" 237: 238: done