import zend standard tests
[hiphop-php.git] / hphp / test / zend / bad / ext-standard-array / array_pad_variation1.php
blob2abbb136c3e959d341a8f575adf0c326df92b1e4
1 <?php
2 /* Prototype : array array_pad(array $input, int $pad_size, mixed $pad_value)
3 * Description: Returns a copy of input array padded with pad_value to size pad_size
4 * Source code: ext/standard/array.c
5 */
7 /*
8 * Testing array_pad() function by passing values to $input argument other than arrays
9 * and see that function outputs proper warning messages wherever expected.
10 * The $pad_size and $pad_value arguments passed are fixed values.
13 echo "*** Testing array_pad() : passing non array values to \$input argument ***\n";
15 // Initialise $pad_size and $pad_value
16 $pad_size = 10;
17 $pad_value = 1;
19 //get an unset variable
20 $unset_var = 10;
21 unset ($unset_var);
23 // get a class
24 class classA
26 public function __toString() {
27 return "Class A object";
31 // heredoc string
32 $heredoc = <<<EOT
33 hello world
34 EOT;
36 // get a resource variable
37 $fp = fopen(__FILE__, "r");
39 // unexpected values to be passed to $input argument
40 $inputs = array(
42 // int data
43 /*1*/ 0,
45 12345,
46 -2345,
48 // float data
49 /*5*/ 10.5,
50 -10.5,
51 12.3456789000e10,
52 12.3456789000E-10,
53 .5,
55 // null data
56 /*10*/ NULL,
57 null,
59 // boolean data
60 /*12*/ true,
61 false,
62 TRUE,
63 FALSE,
64 // empty data
65 /*16*/ "",
66 '',
68 // string data
69 /*18*/ "string",
70 'string',
71 $heredoc,
73 // object data
74 /*21*/ new classA(),
76 // undefined data
77 /*22*/ @$undefined_var,
79 // unset data
80 /*23*/ @$unset_var,
82 // resource variable
83 /*24*/ $fp
86 // loop through each element of $inputs to check the behavior of array_pad()
87 $iterator = 1;
88 foreach($inputs as $input) {
89 echo "\n-- Iteration $iterator --";
90 var_dump( array_pad($input, $pad_size, $pad_value) ); // positive 'pad_size'
91 var_dump( array_pad($input, -$pad_size, $pad_value) ); // negative 'pad_size'
92 $iterator++;
95 echo "Done";