basename_variation.phpt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. --TEST--
  2. Test 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", ' '),
  10. array("~/home/user/bar.tar", ".tar"),
  11. array("~/home/user/bar.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", " "),
  16. /* paths with hostname:dir notation, with suffix variation */
  17. array("hostname:/home/usr/bar.tar"),
  18. array("hostname:/home/user/bar.tar", "home"),
  19. array("hostname:/home/user/tbar.gz", "bar.gz"),
  20. array("hostname:/home/user/tbar.gz", "/bar.gz"),
  21. array("hostname:/home/user/tbar.gz", "/bar.gz/"),
  22. array("hostname:/home/user/tbar.gz/", "/bar.gz/"),
  23. array("hostname:/home/user/tbar.gz/", "/bar.gz/"),
  24. array("hostname:/home/user/My Pics.gz/", "/bar.gz/"),
  25. array("hostname:/home/user/My Pics.gz/", "Pics.gz/"),
  26. array("hostname:/home/user/My Pics.gz/", "Pics.gz"),
  27. array("hostname:/home/user/My Pics.gz/", ".gz"),
  28. array("hostname:/home/user/My Pics.gz/"),
  29. array("hostname:/home/user/My Pics.gz/", ' '),
  30. array("hostname:/home/user/My Pics.gz/", ''),
  31. array("hostname:/home/user/My Pics.gz/", "My Pics.gz"),
  32. /* paths with numeirc strings */
  33. array("10.5"),
  34. array("10.5", ".5"),
  35. array("10.5", "10.5"),
  36. array("10"),
  37. array("105", "5"),
  38. array("/10.5"),
  39. array("10.5/"),
  40. array("10/10.gz"),
  41. array("0"),
  42. array('0'),
  43. /* paths and suffix given as same */
  44. array("bar.gz", "bar.gz"),
  45. array("/bar.gz", "/bar.gz"),
  46. array("/bar.gz/", "/bar.gz/"),
  47. array(" ", " "),
  48. array(' ', ' '),
  49. /* path with spaces */
  50. array(" "),
  51. array(' '),
  52. /* empty paths */
  53. array(""),
  54. array(''),
  55. );
  56. function check_basename( $path_arrays ) {
  57. $loop_counter = 1;
  58. foreach ($path_arrays as $path) {
  59. echo "\n--Iteration $loop_counter--\n"; $loop_counter++;
  60. if( 1 == count($path) ) { // no suffix provided
  61. var_dump( basename($path[0]) );
  62. } else { // path as well as suffix provided,
  63. var_dump( basename($path[0], $path[1]) );
  64. }
  65. }
  66. }
  67. echo "*** Testing possible variations in path and suffix ***\n";
  68. check_basename( $file_path_variations );
  69. echo "Done\n";
  70. ?>
  71. --EXPECT--
  72. *** Testing possible variations in path and suffix ***
  73. --Iteration 1--
  74. string(3) "bar"
  75. --Iteration 2--
  76. string(3) "bar"
  77. --Iteration 3--
  78. string(3) "bar"
  79. --Iteration 4--
  80. string(3) "bar"
  81. --Iteration 5--
  82. string(7) "bar.tar"
  83. --Iteration 6--
  84. string(7) "bar.tar"
  85. --Iteration 7--
  86. string(7) "bar.tar"
  87. --Iteration 8--
  88. string(7) "bar.tar"
  89. --Iteration 9--
  90. string(7) "bar.tar"
  91. --Iteration 10--
  92. string(7) "bar.tar"
  93. --Iteration 11--
  94. string(7) "bar.tar"
  95. --Iteration 12--
  96. string(1) "t"
  97. --Iteration 13--
  98. string(7) "tbar.gz"
  99. --Iteration 14--
  100. string(7) "tbar.gz"
  101. --Iteration 15--
  102. string(7) "tbar.gz"
  103. --Iteration 16--
  104. string(7) "tbar.gz"
  105. --Iteration 17--
  106. string(10) "My Pics.gz"
  107. --Iteration 18--
  108. string(10) "My Pics.gz"
  109. --Iteration 19--
  110. string(3) "My "
  111. --Iteration 20--
  112. string(7) "My Pics"
  113. --Iteration 21--
  114. string(10) "My Pics.gz"
  115. --Iteration 22--
  116. string(10) "My Pics.gz"
  117. --Iteration 23--
  118. string(10) "My Pics.gz"
  119. --Iteration 24--
  120. string(10) "My Pics.gz"
  121. --Iteration 25--
  122. string(4) "10.5"
  123. --Iteration 26--
  124. string(2) "10"
  125. --Iteration 27--
  126. string(4) "10.5"
  127. --Iteration 28--
  128. string(2) "10"
  129. --Iteration 29--
  130. string(2) "10"
  131. --Iteration 30--
  132. string(4) "10.5"
  133. --Iteration 31--
  134. string(4) "10.5"
  135. --Iteration 32--
  136. string(5) "10.gz"
  137. --Iteration 33--
  138. string(1) "0"
  139. --Iteration 34--
  140. string(1) "0"
  141. --Iteration 35--
  142. string(6) "bar.gz"
  143. --Iteration 36--
  144. string(6) "bar.gz"
  145. --Iteration 37--
  146. string(6) "bar.gz"
  147. --Iteration 38--
  148. string(1) " "
  149. --Iteration 39--
  150. string(1) " "
  151. --Iteration 40--
  152. string(1) " "
  153. --Iteration 41--
  154. string(1) " "
  155. --Iteration 42--
  156. string(0) ""
  157. --Iteration 43--
  158. string(0) ""
  159. Done