Annotation of embedaddon/php/ext/standard/tests/array/array_intersect_ukey_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_intersect_ukey() function : usage variation - Passing unexpected values to optional third argument
3: --FILE--
4: <?php
5: /* Prototype : array array_intersect_ukey(array arr1, array arr2 [, array ...], callback key_compare_func)
6: * Description: Computes the intersection of arrays using a callback function on the keys for comparison.
7: * Source code: ext/standard/array.c
8: */
9:
10: echo "*** Testing array_intersect_ukey() : usage variation ***\n";
11:
12: //Initialise arguments
13: $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
14: $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
15: $array4 = array('green' => 5, 'cyan' => 8);
16:
17: //Call back function
18: function key_compare_func($key1, $key2)
19: {
20: if ($key1 == $key2)
21: return 0;
22: else
23: return ($key1 > $key2)? 1:-1;
24: }
25:
26: //get an unset variable
27: $unset_var = 10;
28: unset ($unset_var);
29:
30: //resource variable
31: $fp = fopen(__FILE__, "r");
32:
33: // define some classes
34: class classWithToString
35: {
36: public function __toString() {
37: return "Class A object";
38: }
39: }
40:
41: class classWithoutToString
42: {
43: }
44:
45: // heredoc string
46: $heredoc = <<<EOT
47: hello world
48: EOT;
49:
50: //array of values to iterate over
51: $inputs = array(
52:
53: // int data
54: 'int 0' => 0,
55: 'int 1' => 1,
56: 'int 12345' => 12345,
57: 'int -12345' => -12345,
58:
59: // float data
60: 'float 10.5' => 10.5,
61: 'float -10.5' => -10.5,
62: 'float 12.3456789000e10' => 12.3456789000e10,
63: 'float -12.3456789000e10' => -12.3456789000e10,
64: 'float .5' => .5,
65:
66: // null data
67: 'uppercase NULL' => NULL,
68: 'lowercase null' => null,
69:
70: // boolean data
71: 'lowercase true' => true,
72: 'lowercase false' =>false,
73: 'uppercase TRUE' =>TRUE,
74: 'uppercase FALSE' =>FALSE,
75:
76: // empty data
77: 'empty string DQ' => "",
78: 'empty string SQ' => '',
79:
80: // string data
81: 'string DQ' => "string",
82: 'string SQ' => 'string',
83: 'mixed case string' => "sTrInG",
84: 'heredoc' => $heredoc,
85:
86: // object data
87: 'instance of classWithToString' => new classWithToString(),
88: 'instance of classWithoutToString' => new classWithoutToString(),
89:
90: // undefined data
91: 'undefined var' => @$undefined_var,
92:
93: // unset data
94: 'unset var' => @$unset_var,
95:
96: // resource data
97: 'resource var' => $fp,
98: );
99:
100: // loop through each element of the array for arr2
101:
102: foreach($inputs as $key =>$value) {
103: echo "\n--$key--\n";
104: var_dump( array_intersect_ukey($array1, $array2, $value, 'key_compare_func') );
105: var_dump( array_intersect_ukey($array1, $array2, $value, $array4, 'key_compare_func') );
106: };
107:
108: fclose($fp);
109: ?>
110: ===DONE===
111: --EXPECTF--
112: *** Testing array_intersect_ukey() : usage variation ***
113:
114: --int 0--
115:
116: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
117: NULL
118:
119: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
120: NULL
121:
122: --int 1--
123:
124: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
125: NULL
126:
127: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
128: NULL
129:
130: --int 12345--
131:
132: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
133: NULL
134:
135: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
136: NULL
137:
138: --int -12345--
139:
140: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
141: NULL
142:
143: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
144: NULL
145:
146: --float 10.5--
147:
148: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
149: NULL
150:
151: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
152: NULL
153:
154: --float -10.5--
155:
156: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
157: NULL
158:
159: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
160: NULL
161:
162: --float 12.3456789000e10--
163:
164: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
165: NULL
166:
167: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
168: NULL
169:
170: --float -12.3456789000e10--
171:
172: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
173: NULL
174:
175: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
176: NULL
177:
178: --float .5--
179:
180: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
181: NULL
182:
183: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
184: NULL
185:
186: --uppercase NULL--
187:
188: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
189: NULL
190:
191: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
192: NULL
193:
194: --lowercase null--
195:
196: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
197: NULL
198:
199: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
200: NULL
201:
202: --lowercase true--
203:
204: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
205: NULL
206:
207: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
208: NULL
209:
210: --lowercase false--
211:
212: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
213: NULL
214:
215: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
216: NULL
217:
218: --uppercase TRUE--
219:
220: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
221: NULL
222:
223: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
224: NULL
225:
226: --uppercase FALSE--
227:
228: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
229: NULL
230:
231: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
232: NULL
233:
234: --empty string DQ--
235:
236: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
237: NULL
238:
239: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
240: NULL
241:
242: --empty string SQ--
243:
244: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
245: NULL
246:
247: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
248: NULL
249:
250: --string DQ--
251:
252: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
253: NULL
254:
255: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
256: NULL
257:
258: --string SQ--
259:
260: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
261: NULL
262:
263: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
264: NULL
265:
266: --mixed case string--
267:
268: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
269: NULL
270:
271: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
272: NULL
273:
274: --heredoc--
275:
276: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
277: NULL
278:
279: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
280: NULL
281:
282: --instance of classWithToString--
283:
284: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
285: NULL
286:
287: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
288: NULL
289:
290: --instance of classWithoutToString--
291:
292: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
293: NULL
294:
295: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
296: NULL
297:
298: --undefined var--
299:
300: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
301: NULL
302:
303: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
304: NULL
305:
306: --unset var--
307:
308: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
309: NULL
310:
311: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
312: NULL
313:
314: --resource var--
315:
316: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
317: NULL
318:
319: Warning: array_intersect_ukey(): Argument #3 is not an array in %s on line %d
320: NULL
321: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>