ezmlm_hash_variation1.phpt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. --TEST--
  2. Test explode() function : usage variations - test values for $delimiter argument
  3. --FILE--
  4. <?php
  5. /* Prototype : array explode ( string $delimiter , string $string [, int $limit ] )
  6. * Description: Split a string by string.
  7. * Source code: ext/standard/string.c
  8. */
  9. echo "*** Testing explode() function: with unexpected inputs for 'delimiter' argument ***\n";
  10. //get an unset variable
  11. $unset_var = 'string_val';
  12. unset($unset_var);
  13. //defining a class
  14. class sample {
  15. public function __toString() {
  16. return "sample object";
  17. }
  18. }
  19. //getting the resource
  20. $file_handle = fopen(__FILE__, "r");
  21. // array with different values for $delimiter
  22. $delimiters = array (
  23. // integer values
  24. 0,
  25. 1,
  26. 255,
  27. 256,
  28. PHP_INT_MAX,
  29. -PHP_INT_MAX,
  30. // float values
  31. 10.5,
  32. -20.5,
  33. 10.1234567e10,
  34. // array values
  35. array(),
  36. array(0),
  37. array(1, 2),
  38. // boolean values
  39. true,
  40. false,
  41. TRUE,
  42. FALSE,
  43. // null values
  44. NULL,
  45. null,
  46. // objects
  47. new sample(),
  48. // resource
  49. $file_handle,
  50. // undefined variable
  51. @$undefined_var,
  52. // unset variable
  53. @$unset_var
  54. );
  55. // loop through with each element of the $delimiters array to test explode() function
  56. $count = 1;
  57. $string = "piece1 piece2 piece3 piece4 piece5 piece6";
  58. $limit = 5;
  59. foreach($delimiters as $delimiter) {
  60. echo "-- Iteration $count --\n";
  61. var_dump( explode($delimiter, $string, $limit) );
  62. $count ++;
  63. }
  64. fclose($file_handle); //closing the file handle
  65. ?>
  66. ===Done===
  67. --EXPECTF--
  68. *** Testing explode() function: with unexpected inputs for 'delimiter' argument ***
  69. -- Iteration 1 --
  70. array(1) {
  71. [0]=>
  72. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  73. }
  74. -- Iteration 2 --
  75. array(2) {
  76. [0]=>
  77. string(5) "piece"
  78. [1]=>
  79. string(35) " piece2 piece3 piece4 piece5 piece6"
  80. }
  81. -- Iteration 3 --
  82. array(1) {
  83. [0]=>
  84. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  85. }
  86. -- Iteration 4 --
  87. array(1) {
  88. [0]=>
  89. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  90. }
  91. -- Iteration 5 --
  92. array(1) {
  93. [0]=>
  94. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  95. }
  96. -- Iteration 6 --
  97. array(1) {
  98. [0]=>
  99. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  100. }
  101. -- Iteration 7 --
  102. array(1) {
  103. [0]=>
  104. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  105. }
  106. -- Iteration 8 --
  107. array(1) {
  108. [0]=>
  109. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  110. }
  111. -- Iteration 9 --
  112. array(1) {
  113. [0]=>
  114. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  115. }
  116. -- Iteration 10 --
  117. Warning: explode() expects parameter 1 to be string, array given in %s on line %d
  118. NULL
  119. -- Iteration 11 --
  120. Warning: explode() expects parameter 1 to be string, array given in %s on line %d
  121. NULL
  122. -- Iteration 12 --
  123. Warning: explode() expects parameter 1 to be string, array given in %s on line %d
  124. NULL
  125. -- Iteration 13 --
  126. array(2) {
  127. [0]=>
  128. string(5) "piece"
  129. [1]=>
  130. string(35) " piece2 piece3 piece4 piece5 piece6"
  131. }
  132. -- Iteration 14 --
  133. Warning: explode(): Empty delimiter in %s on line %d
  134. bool(false)
  135. -- Iteration 15 --
  136. array(2) {
  137. [0]=>
  138. string(5) "piece"
  139. [1]=>
  140. string(35) " piece2 piece3 piece4 piece5 piece6"
  141. }
  142. -- Iteration 16 --
  143. Warning: explode(): Empty delimiter in %s on line %d
  144. bool(false)
  145. -- Iteration 17 --
  146. Warning: explode(): Empty delimiter in %s on line %d
  147. bool(false)
  148. -- Iteration 18 --
  149. Warning: explode(): Empty delimiter in %s on line %d
  150. bool(false)
  151. -- Iteration 19 --
  152. array(1) {
  153. [0]=>
  154. string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
  155. }
  156. -- Iteration 20 --
  157. Warning: explode() expects parameter 1 to be string, resource given in %s on line %d
  158. NULL
  159. -- Iteration 21 --
  160. Warning: explode(): Empty delimiter in %s on line %d
  161. bool(false)
  162. -- Iteration 22 --
  163. Warning: explode(): Empty delimiter in %s on line %d
  164. bool(false)
  165. ===Done===