Annotation of embedaddon/php/ext/standard/tests/array/array_slice_variation11.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_slice() function : usage variations - Pass different data types as $input arg
3: --FILE--
4: <?php
5: /* Prototype : array array_slice(array $input, int $offset [, int $length [, bool $preserve_keys]])
6: * Description: Returns elements specified by offset and length
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Pass different arguments as $input argument to array_slice() to test behaviour
12: */
13:
14: echo "*** Testing array_slice() : usage variations ***\n";
15:
16: // Initialise function arguments not being substituted
17: $offset = 2;
18:
19: //get an unset variable
20: $unset_var = 10;
21: unset ($unset_var);
22:
23: // get a class
24: class classA
25: {
26: public function __toString() {
27: return "Class A object";
28: }
29: }
30:
31: // heredoc string
32: $heredoc = <<<EOT
33: hello world
34: EOT;
35:
36: // get a resource variable
37: $fp = fopen(__FILE__, "r");
38:
39: // unexpected values to be passed to $input argument
40: $inputs = array(
41:
42: // int data
43: /*1*/ 0,
44: 1,
45: 12345,
46: -2345,
47:
48: // float data
49: /*5*/ 10.5,
50: -10.5,
51: 12.3456789000e10,
52: 12.3456789000E-10,
53: .5,
54:
55: // null data
56: /*10*/ NULL,
57: null,
58:
59: // boolean data
60: /*12*/ true,
61: false,
62: TRUE,
63: FALSE,
64:
65: // empty data
66: /*16*/ "",
67: '',
68: array(),
69:
70: // string data
71: /*19*/ "string",
72: 'string',
73: $heredoc,
74:
75: // object data
76: /*22*/ new classA(),
77:
78: // undefined data
79: /*23*/ @$undefined_var,
80:
81: // unset data
82: /*24*/ @$unset_var,
83:
84: // resource variable
85: /*25*/ $fp
86: );
87:
88: // loop through each element of $inputs to check the behavior of array_slice()
89: $iterator = 1;
90: foreach($inputs as $input) {
91: echo "\n-- Iteration $iterator --\n";
92: var_dump( array_slice($input, $offset) );
93: $iterator++;
94: };
95:
96: fclose($fp);
97:
98: echo "Done";
99: ?>
100:
101: --EXPECTF--
102: *** Testing array_slice() : usage variations ***
103:
104: -- Iteration 1 --
105:
106: Warning: array_slice() expects parameter 1 to be array, integer given in %s on line %d
107: NULL
108:
109: -- Iteration 2 --
110:
111: Warning: array_slice() expects parameter 1 to be array, integer given in %s on line %d
112: NULL
113:
114: -- Iteration 3 --
115:
116: Warning: array_slice() expects parameter 1 to be array, integer given in %s on line %d
117: NULL
118:
119: -- Iteration 4 --
120:
121: Warning: array_slice() expects parameter 1 to be array, integer given in %s on line %d
122: NULL
123:
124: -- Iteration 5 --
125:
126: Warning: array_slice() expects parameter 1 to be array, double given in %s on line %d
127: NULL
128:
129: -- Iteration 6 --
130:
131: Warning: array_slice() expects parameter 1 to be array, double given in %s on line %d
132: NULL
133:
134: -- Iteration 7 --
135:
136: Warning: array_slice() expects parameter 1 to be array, double given in %s on line %d
137: NULL
138:
139: -- Iteration 8 --
140:
141: Warning: array_slice() expects parameter 1 to be array, double given in %s on line %d
142: NULL
143:
144: -- Iteration 9 --
145:
146: Warning: array_slice() expects parameter 1 to be array, double given in %s on line %d
147: NULL
148:
149: -- Iteration 10 --
150:
151: Warning: array_slice() expects parameter 1 to be array, null given in %s on line %d
152: NULL
153:
154: -- Iteration 11 --
155:
156: Warning: array_slice() expects parameter 1 to be array, null given in %s on line %d
157: NULL
158:
159: -- Iteration 12 --
160:
161: Warning: array_slice() expects parameter 1 to be array, boolean given in %s on line %d
162: NULL
163:
164: -- Iteration 13 --
165:
166: Warning: array_slice() expects parameter 1 to be array, boolean given in %s on line %d
167: NULL
168:
169: -- Iteration 14 --
170:
171: Warning: array_slice() expects parameter 1 to be array, boolean given in %s on line %d
172: NULL
173:
174: -- Iteration 15 --
175:
176: Warning: array_slice() expects parameter 1 to be array, boolean given in %s on line %d
177: NULL
178:
179: -- Iteration 16 --
180:
181: Warning: array_slice() expects parameter 1 to be array, string given in %s on line %d
182: NULL
183:
184: -- Iteration 17 --
185:
186: Warning: array_slice() expects parameter 1 to be array, string given in %s on line %d
187: NULL
188:
189: -- Iteration 18 --
190: array(0) {
191: }
192:
193: -- Iteration 19 --
194:
195: Warning: array_slice() expects parameter 1 to be array, string given in %s on line %d
196: NULL
197:
198: -- Iteration 20 --
199:
200: Warning: array_slice() expects parameter 1 to be array, string given in %s on line %d
201: NULL
202:
203: -- Iteration 21 --
204:
205: Warning: array_slice() expects parameter 1 to be array, string given in %s on line %d
206: NULL
207:
208: -- Iteration 22 --
209:
210: Warning: array_slice() expects parameter 1 to be array, object given in %s on line %d
211: NULL
212:
213: -- Iteration 23 --
214:
215: Warning: array_slice() expects parameter 1 to be array, null given in %s on line %d
216: NULL
217:
218: -- Iteration 24 --
219:
220: Warning: array_slice() expects parameter 1 to be array, null given in %s on line %d
221: NULL
222:
223: -- Iteration 25 --
224:
225: Warning: array_slice() expects parameter 1 to be array, resource given in %s on line %d
226: NULL
227: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>