Annotation of embedaddon/php/Zend/tests/compare_001_64bit.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: comparing different variables for equality
3: --SKIPIF--
4: <?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
5: --FILE--
6: <?php
7:
8: class test {
9: }
10:
11: $a = array(
12: array(1,2,3),
13: "",
14: 1,
15: 2.5,
16: 0,
17: "string",
18: "123",
19: "2.5",
20: NULL,
21: true,
22: false,
23: new stdclass,
24: new stdclass,
25: new test,
26: array(),
27: -PHP_INT_MAX-1,
28: (string)(-PHP_INT_MAX-1),
29: );
30:
31: $var_cnt = count($a);
32:
33: function my_dump($var) {
34: ob_start();
35: var_dump($var);
36: $buf = ob_get_clean();
37: echo str_replace("\n", "", $buf);
38: }
39:
40: foreach($a as $var) {
41: for ($i = 0; $i < $var_cnt; $i++) {
42: my_dump($var);
43: echo ($var == $a[$i]) ? " == " : " != ";
44: my_dump($a[$i]);
45: echo "\n";
46: }
47: }
48:
49: echo "Done\n";
50: ?>
51: --EXPECTF--
52: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
53: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) ""
54: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1)
55: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5)
56: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0)
57: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string"
58: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123"
59: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5"
60: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL
61: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true)
62: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false)
63: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {}
64: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {}
65: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#%d (0) {}
66: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {}
67: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-9223372036854775808)
68: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(20) "-9223372036854775808"
69: string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
70: string(0) "" == string(0) ""
71: string(0) "" != int(1)
72: string(0) "" != float(2.5)
73: string(0) "" == int(0)
74: string(0) "" != string(6) "string"
75: string(0) "" != string(3) "123"
76: string(0) "" != string(3) "2.5"
77: string(0) "" == NULL
78: string(0) "" != bool(true)
79: string(0) "" == bool(false)
80: string(0) "" != object(stdClass)#%d (0) {}
81: string(0) "" != object(stdClass)#%d (0) {}
82: string(0) "" != object(test)#%d (0) {}
83: string(0) "" != array(0) {}
84: string(0) "" != int(-9223372036854775808)
85: string(0) "" != string(20) "-9223372036854775808"
86: int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
87: int(1) != string(0) ""
88: int(1) == int(1)
89: int(1) != float(2.5)
90: int(1) != int(0)
91: int(1) != string(6) "string"
92: int(1) != string(3) "123"
93: int(1) != string(3) "2.5"
94: int(1) != NULL
95: int(1) == bool(true)
96: int(1) != bool(false)
97: int(1)
98: Notice: Object of class stdClass could not be converted to int in %s on line %d
99: == object(stdClass)#%d (0) {}
100: int(1)
101: Notice: Object of class stdClass could not be converted to int in %s on line %d
102: == object(stdClass)#%d (0) {}
103: int(1)
104: Notice: Object of class test could not be converted to int in %s on line %d
105: == object(test)#%d (0) {}
106: int(1) != array(0) {}
107: int(1) != int(-9223372036854775808)
108: int(1) != string(20) "-9223372036854775808"
109: float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
110: float(2.5) != string(0) ""
111: float(2.5) != int(1)
112: float(2.5) == float(2.5)
113: float(2.5) != int(0)
114: float(2.5) != string(6) "string"
115: float(2.5) != string(3) "123"
116: float(2.5) == string(3) "2.5"
117: float(2.5) != NULL
118: float(2.5) == bool(true)
119: float(2.5) != bool(false)
120: float(2.5)
121: Notice: Object of class stdClass could not be converted to double in %s on line %d
122: != object(stdClass)#%d (0) {}
123: float(2.5)
124: Notice: Object of class stdClass could not be converted to double in %s on line %d
125: != object(stdClass)#%d (0) {}
126: float(2.5)
127: Notice: Object of class test could not be converted to double in %s on line %d
128: != object(test)#%d (0) {}
129: float(2.5) != array(0) {}
130: float(2.5) != int(-9223372036854775808)
131: float(2.5) != string(20) "-9223372036854775808"
132: int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
133: int(0) == string(0) ""
134: int(0) != int(1)
135: int(0) != float(2.5)
136: int(0) == int(0)
137: int(0) == string(6) "string"
138: int(0) != string(3) "123"
139: int(0) != string(3) "2.5"
140: int(0) == NULL
141: int(0) != bool(true)
142: int(0) == bool(false)
143: int(0)
144: Notice: Object of class stdClass could not be converted to int in %s on line %d
145: != object(stdClass)#%d (0) {}
146: int(0)
147: Notice: Object of class stdClass could not be converted to int in %s on line %d
148: != object(stdClass)#%d (0) {}
149: int(0)
150: Notice: Object of class test could not be converted to int in %s on line %d
151: != object(test)#%d (0) {}
152: int(0) != array(0) {}
153: int(0) != int(-9223372036854775808)
154: int(0) != string(20) "-9223372036854775808"
155: string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
156: string(6) "string" != string(0) ""
157: string(6) "string" != int(1)
158: string(6) "string" != float(2.5)
159: string(6) "string" == int(0)
160: string(6) "string" == string(6) "string"
161: string(6) "string" != string(3) "123"
162: string(6) "string" != string(3) "2.5"
163: string(6) "string" != NULL
164: string(6) "string" == bool(true)
165: string(6) "string" != bool(false)
166: string(6) "string" != object(stdClass)#%d (0) {}
167: string(6) "string" != object(stdClass)#%d (0) {}
168: string(6) "string" != object(test)#%d (0) {}
169: string(6) "string" != array(0) {}
170: string(6) "string" != int(-9223372036854775808)
171: string(6) "string" != string(20) "-9223372036854775808"
172: string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
173: string(3) "123" != string(0) ""
174: string(3) "123" != int(1)
175: string(3) "123" != float(2.5)
176: string(3) "123" != int(0)
177: string(3) "123" != string(6) "string"
178: string(3) "123" == string(3) "123"
179: string(3) "123" != string(3) "2.5"
180: string(3) "123" != NULL
181: string(3) "123" == bool(true)
182: string(3) "123" != bool(false)
183: string(3) "123" != object(stdClass)#%d (0) {}
184: string(3) "123" != object(stdClass)#%d (0) {}
185: string(3) "123" != object(test)#%d (0) {}
186: string(3) "123" != array(0) {}
187: string(3) "123" != int(-9223372036854775808)
188: string(3) "123" != string(20) "-9223372036854775808"
189: string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
190: string(3) "2.5" != string(0) ""
191: string(3) "2.5" != int(1)
192: string(3) "2.5" == float(2.5)
193: string(3) "2.5" != int(0)
194: string(3) "2.5" != string(6) "string"
195: string(3) "2.5" != string(3) "123"
196: string(3) "2.5" == string(3) "2.5"
197: string(3) "2.5" != NULL
198: string(3) "2.5" == bool(true)
199: string(3) "2.5" != bool(false)
200: string(3) "2.5" != object(stdClass)#%d (0) {}
201: string(3) "2.5" != object(stdClass)#%d (0) {}
202: string(3) "2.5" != object(test)#%d (0) {}
203: string(3) "2.5" != array(0) {}
204: string(3) "2.5" != int(-9223372036854775808)
205: string(3) "2.5" != string(20) "-9223372036854775808"
206: NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
207: NULL == string(0) ""
208: NULL != int(1)
209: NULL != float(2.5)
210: NULL == int(0)
211: NULL != string(6) "string"
212: NULL != string(3) "123"
213: NULL != string(3) "2.5"
214: NULL == NULL
215: NULL != bool(true)
216: NULL == bool(false)
217: NULL != object(stdClass)#%d (0) {}
218: NULL != object(stdClass)#%d (0) {}
219: NULL != object(test)#%d (0) {}
220: NULL == array(0) {}
221: NULL != int(-9223372036854775808)
222: NULL != string(20) "-9223372036854775808"
223: bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
224: bool(true) != string(0) ""
225: bool(true) == int(1)
226: bool(true) == float(2.5)
227: bool(true) != int(0)
228: bool(true) == string(6) "string"
229: bool(true) == string(3) "123"
230: bool(true) == string(3) "2.5"
231: bool(true) != NULL
232: bool(true) == bool(true)
233: bool(true) != bool(false)
234: bool(true) == object(stdClass)#%d (0) {}
235: bool(true) == object(stdClass)#%d (0) {}
236: bool(true) == object(test)#%d (0) {}
237: bool(true) != array(0) {}
238: bool(true) == int(-9223372036854775808)
239: bool(true) == string(20) "-9223372036854775808"
240: bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
241: bool(false) == string(0) ""
242: bool(false) != int(1)
243: bool(false) != float(2.5)
244: bool(false) == int(0)
245: bool(false) != string(6) "string"
246: bool(false) != string(3) "123"
247: bool(false) != string(3) "2.5"
248: bool(false) == NULL
249: bool(false) != bool(true)
250: bool(false) == bool(false)
251: bool(false) != object(stdClass)#%d (0) {}
252: bool(false) != object(stdClass)#%d (0) {}
253: bool(false) != object(test)#%d (0) {}
254: bool(false) == array(0) {}
255: bool(false) != int(-9223372036854775808)
256: bool(false) != string(20) "-9223372036854775808"
257: object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
258: object(stdClass)#%d (0) {} != string(0) ""
259: object(stdClass)#%d (0) {}
260: Notice: Object of class stdClass could not be converted to int in %s on line %d
261: == int(1)
262: object(stdClass)#%d (0) {}
263: Notice: Object of class stdClass could not be converted to double in %s on line %d
264: != float(2.5)
265: object(stdClass)#%d (0) {}
266: Notice: Object of class stdClass could not be converted to int in %s on line %d
267: != int(0)
268: object(stdClass)#%d (0) {} != string(6) "string"
269: object(stdClass)#%d (0) {} != string(3) "123"
270: object(stdClass)#%d (0) {} != string(3) "2.5"
271: object(stdClass)#%d (0) {} != NULL
272: object(stdClass)#%d (0) {} == bool(true)
273: object(stdClass)#%d (0) {} != bool(false)
274: object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
275: object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
276: object(stdClass)#%d (0) {} != object(test)#%d (0) {}
277: object(stdClass)#%d (0) {} != array(0) {}
278: object(stdClass)#%d (0) {}
279: Notice: Object of class stdClass could not be converted to int in %s on line %d
280: != int(-9223372036854775808)
281: object(stdClass)#%d (0) {} != string(20) "-9223372036854775808"
282: object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
283: object(stdClass)#%d (0) {} != string(0) ""
284: object(stdClass)#%d (0) {}
285: Notice: Object of class stdClass could not be converted to int in %s on line %d
286: == int(1)
287: object(stdClass)#%d (0) {}
288: Notice: Object of class stdClass could not be converted to double in %s on line %d
289: != float(2.5)
290: object(stdClass)#%d (0) {}
291: Notice: Object of class stdClass could not be converted to int in %s on line %d
292: != int(0)
293: object(stdClass)#%d (0) {} != string(6) "string"
294: object(stdClass)#%d (0) {} != string(3) "123"
295: object(stdClass)#%d (0) {} != string(3) "2.5"
296: object(stdClass)#%d (0) {} != NULL
297: object(stdClass)#%d (0) {} == bool(true)
298: object(stdClass)#%d (0) {} != bool(false)
299: object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
300: object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
301: object(stdClass)#%d (0) {} != object(test)#%d (0) {}
302: object(stdClass)#%d (0) {} != array(0) {}
303: object(stdClass)#%d (0) {}
304: Notice: Object of class stdClass could not be converted to int in %s on line %d
305: != int(-9223372036854775808)
306: object(stdClass)#%d (0) {} != string(20) "-9223372036854775808"
307: object(test)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
308: object(test)#%d (0) {} != string(0) ""
309: object(test)#%d (0) {}
310: Notice: Object of class test could not be converted to int in %s on line %d
311: == int(1)
312: object(test)#%d (0) {}
313: Notice: Object of class test could not be converted to double in %s on line %d
314: != float(2.5)
315: object(test)#%d (0) {}
316: Notice: Object of class test could not be converted to int in %s on line %d
317: != int(0)
318: object(test)#%d (0) {} != string(6) "string"
319: object(test)#%d (0) {} != string(3) "123"
320: object(test)#%d (0) {} != string(3) "2.5"
321: object(test)#%d (0) {} != NULL
322: object(test)#%d (0) {} == bool(true)
323: object(test)#%d (0) {} != bool(false)
324: object(test)#%d (0) {} != object(stdClass)#%d (0) {}
325: object(test)#%d (0) {} != object(stdClass)#%d (0) {}
326: object(test)#%d (0) {} == object(test)#%d (0) {}
327: object(test)#%d (0) {} != array(0) {}
328: object(test)#%d (0) {}
329: Notice: Object of class test could not be converted to int in %s on line %d
330: != int(-9223372036854775808)
331: object(test)#%d (0) {} != string(20) "-9223372036854775808"
332: array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
333: array(0) {} != string(0) ""
334: array(0) {} != int(1)
335: array(0) {} != float(2.5)
336: array(0) {} != int(0)
337: array(0) {} != string(6) "string"
338: array(0) {} != string(3) "123"
339: array(0) {} != string(3) "2.5"
340: array(0) {} == NULL
341: array(0) {} != bool(true)
342: array(0) {} == bool(false)
343: array(0) {} != object(stdClass)#%d (0) {}
344: array(0) {} != object(stdClass)#%d (0) {}
345: array(0) {} != object(test)#%d (0) {}
346: array(0) {} == array(0) {}
347: array(0) {} != int(-9223372036854775808)
348: array(0) {} != string(20) "-9223372036854775808"
349: int(-9223372036854775808) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
350: int(-9223372036854775808) != string(0) ""
351: int(-9223372036854775808) != int(1)
352: int(-9223372036854775808) != float(2.5)
353: int(-9223372036854775808) != int(0)
354: int(-9223372036854775808) != string(6) "string"
355: int(-9223372036854775808) != string(3) "123"
356: int(-9223372036854775808) != string(3) "2.5"
357: int(-9223372036854775808) != NULL
358: int(-9223372036854775808) == bool(true)
359: int(-9223372036854775808) != bool(false)
360: int(-9223372036854775808)
361: Notice: Object of class stdClass could not be converted to int in %s on line %d
362: != object(stdClass)#%d (0) {}
363: int(-9223372036854775808)
364: Notice: Object of class stdClass could not be converted to int in %s on line %d
365: != object(stdClass)#%d (0) {}
366: int(-9223372036854775808)
367: Notice: Object of class test could not be converted to int in %s on line %d
368: != object(test)#%d (0) {}
369: int(-9223372036854775808) != array(0) {}
370: int(-9223372036854775808) == int(-9223372036854775808)
371: int(-9223372036854775808) == string(20) "-9223372036854775808"
372: string(20) "-9223372036854775808" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
373: string(20) "-9223372036854775808" != string(0) ""
374: string(20) "-9223372036854775808" != int(1)
375: string(20) "-9223372036854775808" != float(2.5)
376: string(20) "-9223372036854775808" != int(0)
377: string(20) "-9223372036854775808" != string(6) "string"
378: string(20) "-9223372036854775808" != string(3) "123"
379: string(20) "-9223372036854775808" != string(3) "2.5"
380: string(20) "-9223372036854775808" != NULL
381: string(20) "-9223372036854775808" == bool(true)
382: string(20) "-9223372036854775808" != bool(false)
383: string(20) "-9223372036854775808" != object(stdClass)#%d (0) {}
384: string(20) "-9223372036854775808" != object(stdClass)#%d (0) {}
385: string(20) "-9223372036854775808" != object(test)#%d (0) {}
386: string(20) "-9223372036854775808" != array(0) {}
387: string(20) "-9223372036854775808" == int(-9223372036854775808)
388: string(20) "-9223372036854775808" == string(20) "-9223372036854775808"
389: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>