Annotation of embedaddon/php/ext/standard/tests/file/basename-win32.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: basename
        !             3: --CREDITS--
        !             4: Dave Kelsey <d_kelsey@uk.ibm.com>
        !             5: --SKIPIF--
        !             6: <?php
        !             7: if (substr(PHP_OS, 0, 3) != 'WIN') {
        !             8:     die('skip Windows only basename tests');
        !             9: }
        !            10: ?>
        !            11: --FILE--
        !            12: <?php
        !            13: /* 
        !            14:  * proto string basename(string path [, string suffix])
        !            15:  * Function is implemented in ext/standard/string.c
        !            16:  */ 
        !            17: $file_paths = array (
        !            18:   /* simple paths */
        !            19:   array("bar"),
        !            20:   array("\\foo\\bar"),
        !            21:   array("foo\\bar"),
        !            22:   array("\\bar"),
        !            23: 
        !            24:   /* simple paths with trailing slashes */
        !            25:   array("bar\\"),
        !            26:   array("\\bar\\"),
        !            27:   array("\\foo\\bar\\"),
        !            28:   array("foo\\bar\\"),
        !            29:   array("\\bar\\"),
        !            30: 
        !            31:   /* paths with suffix removal */
        !            32:   array("bar.zip", ".zip"),
        !            33:   array("bar.zip", "bar.zip"),
        !            34:   array("\\foo\\bar.zip", ".zip"),
        !            35:   array("foo\\bar.zip", ".zip"),
        !            36:   array("\\bar.zip", ".zip"),  
        !            37: 
        !            38:   /* paths with suffix and trailing slashes with suffix removal*/
        !            39:   array("bar.zip\\", ".zip"),
        !            40:   array("\\bar.zip\\", ".zip"),
        !            41:   array("\\foo\\bar.zip\\", ".zip"),
        !            42:   array("foo\\bar.zip\\", ".zip"),
        !            43:   array("\\bar.zip\\", ".zip"),  
        !            44:   
        !            45:   /* paths with basename only suffix, with suffix removal*/
        !            46:   array("\\.zip", ".zip"),
        !            47:   array(".zip", ".zip"),
        !            48:   array("\\foo\\.zip", ".zip"),
        !            49: 
        !            50:   /* paths with basename only suffix & trailing slashes, with suffix removal*/
        !            51:   array(".zip\\", ".zip"),
        !            52:   array("\\foo\\.zip\\", ".zip"),
        !            53:   array("foo\\.zip\\", ".zip"),
        !            54: );
        !            55: 
        !            56: $file_path_variations = array (
        !            57:   /* paths with shortcut home dir char, with suffix variation */
        !            58:   array("C:\\temp\\bar"),
        !            59:   array("C:\\temp\\bar", ""),
        !            60:   array("C:\\temp\\bar", NULL),
        !            61:   array("C:\\temp\\bar", ' '),
        !            62:   array("C:\\temp\\bar.tar", ".tar"),
        !            63:   array("C:\\temp\\bar.tar", "~"),
        !            64:   array("C:\\temp\\bar.tar\\", "~"),
        !            65:   array("C:\\temp\\bar.tar\\", ""),
        !            66:   array("C:\\temp\\bar.tar", NULL),
        !            67:   array("C:\\temp\\bar.tar", ''),
        !            68:   array("C:\\temp\\bar.tar", " "),
        !            69: 
        !            70:   /* paths with numeric strings */
        !            71:   array("10.5"),
        !            72:   array("10.5", ".5"),
        !            73:   array("10.5", "10.5"),
        !            74:   array("10"),
        !            75:   array("105", "5"),
        !            76:   array("/10.5"),
        !            77:   array("10.5\\"),
        !            78:   array("10/10.zip"),
        !            79:   array("0"),
        !            80:   array('0'),
        !            81: 
        !            82:   /* paths and suffix given as same */
        !            83:   array("bar.zip", "bar.zip"),
        !            84:   array("\\bar.zip", "\\bar.zip"),
        !            85:   array("\\bar.zip\\", "\\bar.zip\\"),
        !            86:   array(" ", " "),
        !            87:   array(' ', ' '),
        !            88:   array(NULL, NULL),
        !            89: 
        !            90:   /* path with spaces */
        !            91:   array(" "),
        !            92:   array(' '),
        !            93:   
        !            94:   /* empty paths */
        !            95:   array(""),
        !            96:   array(''),
        !            97:   array(NULL)
        !            98: );
        !            99: 
        !           100: function check_basename( $path_arrays ) {
        !           101:    $loop_counter = 1;
        !           102:    foreach ($path_arrays as $path) {
        !           103:      echo "\n--Iteration $loop_counter--\n"; $loop_counter++;
        !           104:      if( 1 == count($path) ) { // no suffix provided
        !           105:        var_dump( basename($path[0]) );
        !           106:      } else { // path as well as suffix provided,
        !           107:        var_dump( basename($path[0], $path[1]) );    
        !           108:      } 
        !           109:    }
        !           110: }
        !           111: 
        !           112: echo "*** Testing basic operations ***\n";
        !           113: check_basename( $file_paths );
        !           114: 
        !           115: echo "\n*** Testing possible variations in path and suffix ***\n";
        !           116: check_basename( $file_path_variations );
        !           117: 
        !           118: echo "\n*** Testing error conditions ***\n";
        !           119: // zero arguments 
        !           120: var_dump( basename() );
        !           121: 
        !           122: // more than expected no. of arguments
        !           123: var_dump( basename("\\blah\\tmp\\bar.zip", ".zip", ".zip") );
        !           124: 
        !           125: // passing invalid type arguments 
        !           126: $object = new stdclass;
        !           127: var_dump( basename( array("string\\bar") ) );
        !           128: var_dump( basename( array("string\\bar"), "bar" ) );
        !           129: var_dump( basename( "bar", array("string\\bar") ) );
        !           130: var_dump( basename( $object, "bar" ) );
        !           131: var_dump( basename( $object ) );
        !           132: var_dump( basename( $object, $object ) );
        !           133: var_dump( basename( "bar", $object ) );
        !           134: 
        !           135: echo "Done\n";
        !           136: ?>
        !           137: --EXPECTF--
        !           138: *** Testing basic operations ***
        !           139: 
        !           140: --Iteration 1--
        !           141: string(3) "bar"
        !           142: 
        !           143: --Iteration 2--
        !           144: string(3) "bar"
        !           145: 
        !           146: --Iteration 3--
        !           147: string(3) "bar"
        !           148: 
        !           149: --Iteration 4--
        !           150: string(3) "bar"
        !           151: 
        !           152: --Iteration 5--
        !           153: string(3) "bar"
        !           154: 
        !           155: --Iteration 6--
        !           156: string(3) "bar"
        !           157: 
        !           158: --Iteration 7--
        !           159: string(3) "bar"
        !           160: 
        !           161: --Iteration 8--
        !           162: string(3) "bar"
        !           163: 
        !           164: --Iteration 9--
        !           165: string(3) "bar"
        !           166: 
        !           167: --Iteration 10--
        !           168: string(3) "bar"
        !           169: 
        !           170: --Iteration 11--
        !           171: string(7) "bar.zip"
        !           172: 
        !           173: --Iteration 12--
        !           174: string(3) "bar"
        !           175: 
        !           176: --Iteration 13--
        !           177: string(3) "bar"
        !           178: 
        !           179: --Iteration 14--
        !           180: string(3) "bar"
        !           181: 
        !           182: --Iteration 15--
        !           183: string(3) "bar"
        !           184: 
        !           185: --Iteration 16--
        !           186: string(3) "bar"
        !           187: 
        !           188: --Iteration 17--
        !           189: string(3) "bar"
        !           190: 
        !           191: --Iteration 18--
        !           192: string(3) "bar"
        !           193: 
        !           194: --Iteration 19--
        !           195: string(3) "bar"
        !           196: 
        !           197: --Iteration 20--
        !           198: string(4) ".zip"
        !           199: 
        !           200: --Iteration 21--
        !           201: string(4) ".zip"
        !           202: 
        !           203: --Iteration 22--
        !           204: string(4) ".zip"
        !           205: 
        !           206: --Iteration 23--
        !           207: string(4) ".zip"
        !           208: 
        !           209: --Iteration 24--
        !           210: string(4) ".zip"
        !           211: 
        !           212: --Iteration 25--
        !           213: string(4) ".zip"
        !           214: 
        !           215: *** Testing possible variations in path and suffix ***
        !           216: 
        !           217: --Iteration 1--
        !           218: string(3) "bar"
        !           219: 
        !           220: --Iteration 2--
        !           221: string(3) "bar"
        !           222: 
        !           223: --Iteration 3--
        !           224: string(3) "bar"
        !           225: 
        !           226: --Iteration 4--
        !           227: string(3) "bar"
        !           228: 
        !           229: --Iteration 5--
        !           230: string(3) "bar"
        !           231: 
        !           232: --Iteration 6--
        !           233: string(7) "bar.tar"
        !           234: 
        !           235: --Iteration 7--
        !           236: string(7) "bar.tar"
        !           237: 
        !           238: --Iteration 8--
        !           239: string(7) "bar.tar"
        !           240: 
        !           241: --Iteration 9--
        !           242: string(7) "bar.tar"
        !           243: 
        !           244: --Iteration 10--
        !           245: string(7) "bar.tar"
        !           246: 
        !           247: --Iteration 11--
        !           248: string(7) "bar.tar"
        !           249: 
        !           250: --Iteration 12--
        !           251: string(4) "10.5"
        !           252: 
        !           253: --Iteration 13--
        !           254: string(2) "10"
        !           255: 
        !           256: --Iteration 14--
        !           257: string(4) "10.5"
        !           258: 
        !           259: --Iteration 15--
        !           260: string(2) "10"
        !           261: 
        !           262: --Iteration 16--
        !           263: string(2) "10"
        !           264: 
        !           265: --Iteration 17--
        !           266: string(4) "10.5"
        !           267: 
        !           268: --Iteration 18--
        !           269: string(4) "10.5"
        !           270: 
        !           271: --Iteration 19--
        !           272: string(6) "10.zip"
        !           273: 
        !           274: --Iteration 20--
        !           275: string(1) "0"
        !           276: 
        !           277: --Iteration 21--
        !           278: string(1) "0"
        !           279: 
        !           280: --Iteration 22--
        !           281: string(7) "bar.zip"
        !           282: 
        !           283: --Iteration 23--
        !           284: string(7) "bar.zip"
        !           285: 
        !           286: --Iteration 24--
        !           287: string(7) "bar.zip"
        !           288: 
        !           289: --Iteration 25--
        !           290: string(1) " "
        !           291: 
        !           292: --Iteration 26--
        !           293: string(1) " "
        !           294: 
        !           295: --Iteration 27--
        !           296: string(0) ""
        !           297: 
        !           298: --Iteration 28--
        !           299: string(1) " "
        !           300: 
        !           301: --Iteration 29--
        !           302: string(1) " "
        !           303: 
        !           304: --Iteration 30--
        !           305: string(0) ""
        !           306: 
        !           307: --Iteration 31--
        !           308: string(0) ""
        !           309: 
        !           310: --Iteration 32--
        !           311: string(0) ""
        !           312: 
        !           313: *** Testing error conditions ***
        !           314: 
        !           315: Warning: basename() expects at least 1 parameter, 0 given in %s on line %d
        !           316: NULL
        !           317: 
        !           318: Warning: basename() expects at most 2 parameters, 3 given in %s on line %d
        !           319: NULL
        !           320: 
        !           321: Warning: basename() expects parameter 1 to be string, array given in %s on line %d
        !           322: NULL
        !           323: 
        !           324: Warning: basename() expects parameter 1 to be string, array given in %s on line %d
        !           325: NULL
        !           326: 
        !           327: Warning: basename() expects parameter 2 to be string, array given in %s on line %d
        !           328: NULL
        !           329: 
        !           330: Warning: basename() expects parameter 1 to be string, object given in %s on line %d
        !           331: NULL
        !           332: 
        !           333: Warning: basename() expects parameter 1 to be string, object given in %s on line %d
        !           334: NULL
        !           335: 
        !           336: Warning: basename() expects parameter 1 to be string, object given in %s on line %d
        !           337: NULL
        !           338: 
        !           339: Warning: basename() expects parameter 2 to be string, object given in %s on line %d
        !           340: NULL
        !           341: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>