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>