Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / standard / tests / strings / explode_variation3.phpt
blob54d5222caa97be496ec5d3130983f4ed6ad38b0a
1 --TEST--
2 Test explode() function : usage variations - test values for $limit argument
3 --FILE--
4 <?php
6 /* Prototype  : array explode  ( string $delimiter  , string $string  [, int $limit  ] )
7  * Description: Split a string by string.
8  * Source code: ext/standard/string.c
9 */
11 echo "*** Testing explode() function: with unexpected inputs for 'limit' argument ***\n";
13 //get an unset variable
14 $unset_var = 'string_val';
15 unset($unset_var);
17 //defining a class
18 class sample  {
19   public function __toString() {
20     return "sample object";
21   } 
24 //getting the resource
25 $file_handle = fopen(__FILE__, "r");
27 // array with different values for $delimeter
28 $limits =  array (
30                   // integer values
31 /*1*/     0,
32                   1,
33                   255,
34                   256,
35               2147483647,
36                   -2147483648,
37                 
38                   // float values
39 /*7*/     10.5,
40                   -20.5,
41                   10.1234567e5,
42                 
43                   // array values
44 /*10*/    array(),
45                   array(0),
46                   array(1, 2),
47                 
48                   // boolean values
49 /*13*/    true,
50                   false,
51                   TRUE,
52                   FALSE,
53                 
54                   // null values
55 /*17*/    NULL,
56                   null,
57                 
58                   // objects
59 /*19*/    new sample(),
60                 
61                   // resource
62 /*20*/    $file_handle,
63                 
64                   // undefined variable
65 /*21*/    @$undefined_var,
66                 
67                   // unset variable
68 /*22*/    @$unset_var
71 // loop through with each element of the $limits array to test explode() function
72 $count = 1;
73 $delimeter = " ";
74 $string = "piece1 piece2 piece3 piece4 piece5 piece6";
75 foreach($limits as $limit) {
76   echo "-- Iteration $count --\n";
77   var_dump( explode($delimeter, $string, $limit) );
78   $count ++;
81 fclose($file_handle);  //closing the file handle
84 ===Done===
85 --EXPECTF--
86 *** Testing explode() function: with unexpected inputs for 'limit' argument ***
87 -- Iteration 1 --
88 array(1) {
89   [0]=>
90   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
92 -- Iteration 2 --
93 array(1) {
94   [0]=>
95   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
97 -- Iteration 3 --
98 array(6) {
99   [0]=>
100   string(6) "piece1"
101   [1]=>
102   string(6) "piece2"
103   [2]=>
104   string(6) "piece3"
105   [3]=>
106   string(6) "piece4"
107   [4]=>
108   string(6) "piece5"
109   [5]=>
110   string(6) "piece6"
112 -- Iteration 4 --
113 array(6) {
114   [0]=>
115   string(6) "piece1"
116   [1]=>
117   string(6) "piece2"
118   [2]=>
119   string(6) "piece3"
120   [3]=>
121   string(6) "piece4"
122   [4]=>
123   string(6) "piece5"
124   [5]=>
125   string(6) "piece6"
127 -- Iteration 5 --
128 array(6) {
129   [0]=>
130   string(6) "piece1"
131   [1]=>
132   string(6) "piece2"
133   [2]=>
134   string(6) "piece3"
135   [3]=>
136   string(6) "piece4"
137   [4]=>
138   string(6) "piece5"
139   [5]=>
140   string(6) "piece6"
142 -- Iteration 6 --
143 array(0) {
145 -- Iteration 7 --
146 array(6) {
147   [0]=>
148   string(6) "piece1"
149   [1]=>
150   string(6) "piece2"
151   [2]=>
152   string(6) "piece3"
153   [3]=>
154   string(6) "piece4"
155   [4]=>
156   string(6) "piece5"
157   [5]=>
158   string(6) "piece6"
160 -- Iteration 8 --
161 array(0) {
163 -- Iteration 9 --
164 array(6) {
165   [0]=>
166   string(6) "piece1"
167   [1]=>
168   string(6) "piece2"
169   [2]=>
170   string(6) "piece3"
171   [3]=>
172   string(6) "piece4"
173   [4]=>
174   string(6) "piece5"
175   [5]=>
176   string(6) "piece6"
178 -- Iteration 10 --
180 Warning: explode() expects parameter 3 to be long, array given in %s on line %d
181 NULL
182 -- Iteration 11 --
184 Warning: explode() expects parameter 3 to be long, array given in %s on line %d
185 NULL
186 -- Iteration 12 --
188 Warning: explode() expects parameter 3 to be long, array given in %s on line %d
189 NULL
190 -- Iteration 13 --
191 array(1) {
192   [0]=>
193   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
195 -- Iteration 14 --
196 array(1) {
197   [0]=>
198   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
200 -- Iteration 15 --
201 array(1) {
202   [0]=>
203   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
205 -- Iteration 16 --
206 array(1) {
207   [0]=>
208   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
210 -- Iteration 17 --
211 array(1) {
212   [0]=>
213   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
215 -- Iteration 18 --
216 array(1) {
217   [0]=>
218   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
220 -- Iteration 19 --
222 Warning: explode() expects parameter 3 to be long, object given in %s on line %d
223 NULL
224 -- Iteration 20 --
226 Warning: explode() expects parameter 3 to be long, resource given in %s on line %d
227 NULL
228 -- Iteration 21 --
229 array(1) {
230   [0]=>
231   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
233 -- Iteration 22 --
234 array(1) {
235   [0]=>
236   string(41) "piece1 piece2 piece3 piece4 piece5 piece6"
238 ===Done===