Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / standard / tests / array / array_pad_variation2.phpt
blob0267f203bb97dd38382832acb4c5624722f13d03
1 --TEST--
2 Test array_pad() function : usage variations - unexpected values for 'pad_size' argument(Bug#43482)
3 --FILE--
4 <?php
5 /* Prototype  : array array_pad(array $input, int $pad_size, mixed $pad_value)
6  * Description: Returns a copy of input array padded with pad_value to size pad_size 
7  * Source code: ext/standard/array.c
8 */
11 * Testing array_pad() function by passing values to $pad_size argument other than integers
12 * and see that function outputs proper warning messages wherever expected.
13 * The $input and $pad_value arguments passed are fixed values.
16 echo "*** Testing array_pad() : passing non integer values to \$pad_size argument ***\n";
18 // Initialise $input and $pad_value arguments
19 $input = array(1, 2);
20 $pad_value = 1;
22 //get an unset variable
23 $unset_var = 10;
24 unset ($unset_var);
26 // get a class
27 class classA
29   public function __toString() {
30     return "Class A object";
31   }
34 //array of values to iterate over
35 $pad_sizes = array(
37       // float data
38 /*1*/  10.5,
39        -10.5,
40        12.3456789000e10,
41        -12.3456789000e10,
42        12.3456789000E-10,
43        .5,
45        // array data
46 /*6*/  array(),
47        array(0),
48        array(1),
49        array(1, 2),
50        array('color' => 'red', 'item' => 'pen'),
52        // null data
53 /*11*/ NULL,
54        null,
56        // boolean data
57 /*13*/ true,
58        false,
59        TRUE,
60        FALSE,
62        // empty data
63 /*17*/ "",
64        '',
66        // string data
67 /*19*/ "string",
68        'string',
70        // object data
71 /*21*/ new classA(),
73        // undefined data
74 /*22*/ @$undefined_var,
76        // unset data
77 /*23*/ @$unset_var,
80 // loop through each element of $pad_sizes to check the behavior of array_pad()
81 $iterator = 1;
82 foreach($pad_sizes as $pad_size) {
83   echo "-- Iteration $iterator --\n";
84   var_dump( array_pad($input, $pad_size, $pad_value) );
85   $iterator++;
88 echo "Done";
90 --EXPECTF--
91 *** Testing array_pad() : passing non integer values to $pad_size argument ***
92 -- Iteration 1 --
93 array(10) {
94   [0]=>
95   int(1)
96   [1]=>
97   int(2)
98   [2]=>
99   int(1)
100   [3]=>
101   int(1)
102   [4]=>
103   int(1)
104   [5]=>
105   int(1)
106   [6]=>
107   int(1)
108   [7]=>
109   int(1)
110   [8]=>
111   int(1)
112   [9]=>
113   int(1)
115 -- Iteration 2 --
116 array(10) {
117   [0]=>
118   int(1)
119   [1]=>
120   int(1)
121   [2]=>
122   int(1)
123   [3]=>
124   int(1)
125   [4]=>
126   int(1)
127   [5]=>
128   int(1)
129   [6]=>
130   int(1)
131   [7]=>
132   int(1)
133   [8]=>
134   int(1)
135   [9]=>
136   int(2)
138 -- Iteration 3 --
140 Warning: array_pad(): You may only pad up to 1048576 elements at a time in %s on line %d
141 bool(false)
142 -- Iteration 4 --
144 Warning: array_pad(): You may only pad up to 1048576 elements at a time in %s on line %d
145 bool(false)
146 -- Iteration 5 --
147 array(2) {
148   [0]=>
149   int(1)
150   [1]=>
151   int(2)
153 -- Iteration 6 --
154 array(2) {
155   [0]=>
156   int(1)
157   [1]=>
158   int(2)
160 -- Iteration 7 --
162 Warning: array_pad() expects parameter 2 to be long, array given in %s on line %d
163 NULL
164 -- Iteration 8 --
166 Warning: array_pad() expects parameter 2 to be long, array given in %s on line %d
167 NULL
168 -- Iteration 9 --
170 Warning: array_pad() expects parameter 2 to be long, array given in %s on line %d
171 NULL
172 -- Iteration 10 --
174 Warning: array_pad() expects parameter 2 to be long, array given in %s on line %d
175 NULL
176 -- Iteration 11 --
178 Warning: array_pad() expects parameter 2 to be long, array given in %s on line %d
179 NULL
180 -- Iteration 12 --
181 array(2) {
182   [0]=>
183   int(1)
184   [1]=>
185   int(2)
187 -- Iteration 13 --
188 array(2) {
189   [0]=>
190   int(1)
191   [1]=>
192   int(2)
194 -- Iteration 14 --
195 array(2) {
196   [0]=>
197   int(1)
198   [1]=>
199   int(2)
201 -- Iteration 15 --
202 array(2) {
203   [0]=>
204   int(1)
205   [1]=>
206   int(2)
208 -- Iteration 16 --
209 array(2) {
210   [0]=>
211   int(1)
212   [1]=>
213   int(2)
215 -- Iteration 17 --
216 array(2) {
217   [0]=>
218   int(1)
219   [1]=>
220   int(2)
222 -- Iteration 18 --
224 Warning: array_pad() expects parameter 2 to be long, string given in %s on line %d
225 NULL
226 -- Iteration 19 --
228 Warning: array_pad() expects parameter 2 to be long, string given in %s on line %d
229 NULL
230 -- Iteration 20 --
232 Warning: array_pad() expects parameter 2 to be long, string given in %s on line %d
233 NULL
234 -- Iteration 21 --
236 Warning: array_pad() expects parameter 2 to be long, string given in %s on line %d
237 NULL
238 -- Iteration 22 --
240 Warning: array_pad() expects parameter 2 to be long, object given in %s on line %d
241 NULL
242 -- Iteration 23 --
243 array(2) {
244   [0]=>
245   int(1)
246   [1]=>
247   int(2)
249 -- Iteration 24 --
250 array(2) {
251   [0]=>
252   int(1)
253   [1]=>
254   int(2)
256 Done