Annotation of embedaddon/php/Zend/tests/compare_001.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: comparing different variables for equality
! 3: --SKIPIF--
! 4: <?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit 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)#1 (0) {}
! 64: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#2 (0) {}
! 65: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#3 (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(-2147483648)
! 68: array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(11) "-2147483648"
! 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)#1 (0) {}
! 81: string(0) "" != object(stdClass)#2 (0) {}
! 82: string(0) "" != object(test)#3 (0) {}
! 83: string(0) "" != array(0) {}
! 84: string(0) "" != int(-2147483648)
! 85: string(0) "" != string(11) "-2147483648"
! 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)#1 (0) {}
! 100: int(1)
! 101: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 102: == object(stdClass)#2 (0) {}
! 103: int(1)
! 104: Notice: Object of class test could not be converted to int in %s on line %d
! 105: == object(test)#3 (0) {}
! 106: int(1) != array(0) {}
! 107: int(1) != int(-2147483648)
! 108: int(1) != string(11) "-2147483648"
! 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)#1 (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)#2 (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)#3 (0) {}
! 129: float(2.5) != array(0) {}
! 130: float(2.5) != int(-2147483648)
! 131: float(2.5) != string(11) "-2147483648"
! 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)#1 (0) {}
! 146: int(0)
! 147: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 148: != object(stdClass)#2 (0) {}
! 149: int(0)
! 150: Notice: Object of class test could not be converted to int in %s on line %d
! 151: != object(test)#3 (0) {}
! 152: int(0) != array(0) {}
! 153: int(0) != int(-2147483648)
! 154: int(0) != string(11) "-2147483648"
! 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)#1 (0) {}
! 167: string(6) "string" != object(stdClass)#2 (0) {}
! 168: string(6) "string" != object(test)#3 (0) {}
! 169: string(6) "string" != array(0) {}
! 170: string(6) "string" != int(-2147483648)
! 171: string(6) "string" != string(11) "-2147483648"
! 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)#1 (0) {}
! 184: string(3) "123" != object(stdClass)#2 (0) {}
! 185: string(3) "123" != object(test)#3 (0) {}
! 186: string(3) "123" != array(0) {}
! 187: string(3) "123" != int(-2147483648)
! 188: string(3) "123" != string(11) "-2147483648"
! 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)#1 (0) {}
! 201: string(3) "2.5" != object(stdClass)#2 (0) {}
! 202: string(3) "2.5" != object(test)#3 (0) {}
! 203: string(3) "2.5" != array(0) {}
! 204: string(3) "2.5" != int(-2147483648)
! 205: string(3) "2.5" != string(11) "-2147483648"
! 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)#1 (0) {}
! 218: NULL != object(stdClass)#2 (0) {}
! 219: NULL != object(test)#3 (0) {}
! 220: NULL == array(0) {}
! 221: NULL != int(-2147483648)
! 222: NULL != string(11) "-2147483648"
! 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)#1 (0) {}
! 235: bool(true) == object(stdClass)#2 (0) {}
! 236: bool(true) == object(test)#3 (0) {}
! 237: bool(true) != array(0) {}
! 238: bool(true) == int(-2147483648)
! 239: bool(true) == string(11) "-2147483648"
! 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)#1 (0) {}
! 252: bool(false) != object(stdClass)#2 (0) {}
! 253: bool(false) != object(test)#3 (0) {}
! 254: bool(false) == array(0) {}
! 255: bool(false) != int(-2147483648)
! 256: bool(false) != string(11) "-2147483648"
! 257: object(stdClass)#1 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
! 258: object(stdClass)#1 (0) {} != string(0) ""
! 259: object(stdClass)#1 (0) {}
! 260: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 261: == int(1)
! 262: object(stdClass)#1 (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)#1 (0) {}
! 266: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 267: != int(0)
! 268: object(stdClass)#1 (0) {} != string(6) "string"
! 269: object(stdClass)#1 (0) {} != string(3) "123"
! 270: object(stdClass)#1 (0) {} != string(3) "2.5"
! 271: object(stdClass)#1 (0) {} != NULL
! 272: object(stdClass)#1 (0) {} == bool(true)
! 273: object(stdClass)#1 (0) {} != bool(false)
! 274: object(stdClass)#1 (0) {} == object(stdClass)#1 (0) {}
! 275: object(stdClass)#1 (0) {} == object(stdClass)#2 (0) {}
! 276: object(stdClass)#1 (0) {} != object(test)#3 (0) {}
! 277: object(stdClass)#1 (0) {} != array(0) {}
! 278: object(stdClass)#1 (0) {}
! 279: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 280: != int(-2147483648)
! 281: object(stdClass)#1 (0) {} != string(11) "-2147483648"
! 282: object(stdClass)#2 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
! 283: object(stdClass)#2 (0) {} != string(0) ""
! 284: object(stdClass)#2 (0) {}
! 285: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 286: == int(1)
! 287: object(stdClass)#2 (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)#2 (0) {}
! 291: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 292: != int(0)
! 293: object(stdClass)#2 (0) {} != string(6) "string"
! 294: object(stdClass)#2 (0) {} != string(3) "123"
! 295: object(stdClass)#2 (0) {} != string(3) "2.5"
! 296: object(stdClass)#2 (0) {} != NULL
! 297: object(stdClass)#2 (0) {} == bool(true)
! 298: object(stdClass)#2 (0) {} != bool(false)
! 299: object(stdClass)#2 (0) {} == object(stdClass)#1 (0) {}
! 300: object(stdClass)#2 (0) {} == object(stdClass)#2 (0) {}
! 301: object(stdClass)#2 (0) {} != object(test)#3 (0) {}
! 302: object(stdClass)#2 (0) {} != array(0) {}
! 303: object(stdClass)#2 (0) {}
! 304: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 305: != int(-2147483648)
! 306: object(stdClass)#2 (0) {} != string(11) "-2147483648"
! 307: object(test)#3 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
! 308: object(test)#3 (0) {} != string(0) ""
! 309: object(test)#3 (0) {}
! 310: Notice: Object of class test could not be converted to int in %s on line %d
! 311: == int(1)
! 312: object(test)#3 (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)#3 (0) {}
! 316: Notice: Object of class test could not be converted to int in %s on line %d
! 317: != int(0)
! 318: object(test)#3 (0) {} != string(6) "string"
! 319: object(test)#3 (0) {} != string(3) "123"
! 320: object(test)#3 (0) {} != string(3) "2.5"
! 321: object(test)#3 (0) {} != NULL
! 322: object(test)#3 (0) {} == bool(true)
! 323: object(test)#3 (0) {} != bool(false)
! 324: object(test)#3 (0) {} != object(stdClass)#1 (0) {}
! 325: object(test)#3 (0) {} != object(stdClass)#2 (0) {}
! 326: object(test)#3 (0) {} == object(test)#3 (0) {}
! 327: object(test)#3 (0) {} != array(0) {}
! 328: object(test)#3 (0) {}
! 329: Notice: Object of class test could not be converted to int in %s on line %d
! 330: != int(-2147483648)
! 331: object(test)#3 (0) {} != string(11) "-2147483648"
! 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)#1 (0) {}
! 344: array(0) {} != object(stdClass)#2 (0) {}
! 345: array(0) {} != object(test)#3 (0) {}
! 346: array(0) {} == array(0) {}
! 347: array(0) {} != int(-2147483648)
! 348: array(0) {} != string(11) "-2147483648"
! 349: int(-2147483648) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
! 350: int(-2147483648) != string(0) ""
! 351: int(-2147483648) != int(1)
! 352: int(-2147483648) != float(2.5)
! 353: int(-2147483648) != int(0)
! 354: int(-2147483648) != string(6) "string"
! 355: int(-2147483648) != string(3) "123"
! 356: int(-2147483648) != string(3) "2.5"
! 357: int(-2147483648) != NULL
! 358: int(-2147483648) == bool(true)
! 359: int(-2147483648) != bool(false)
! 360: int(-2147483648)
! 361: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 362: != object(stdClass)#1 (0) {}
! 363: int(-2147483648)
! 364: Notice: Object of class stdClass could not be converted to int in %s on line %d
! 365: != object(stdClass)#2 (0) {}
! 366: int(-2147483648)
! 367: Notice: Object of class test could not be converted to int in %s on line %d
! 368: != object(test)#3 (0) {}
! 369: int(-2147483648) != array(0) {}
! 370: int(-2147483648) == int(-2147483648)
! 371: int(-2147483648) == string(11) "-2147483648"
! 372: string(11) "-2147483648" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
! 373: string(11) "-2147483648" != string(0) ""
! 374: string(11) "-2147483648" != int(1)
! 375: string(11) "-2147483648" != float(2.5)
! 376: string(11) "-2147483648" != int(0)
! 377: string(11) "-2147483648" != string(6) "string"
! 378: string(11) "-2147483648" != string(3) "123"
! 379: string(11) "-2147483648" != string(3) "2.5"
! 380: string(11) "-2147483648" != NULL
! 381: string(11) "-2147483648" == bool(true)
! 382: string(11) "-2147483648" != bool(false)
! 383: string(11) "-2147483648" != object(stdClass)#1 (0) {}
! 384: string(11) "-2147483648" != object(stdClass)#2 (0) {}
! 385: string(11) "-2147483648" != object(test)#3 (0) {}
! 386: string(11) "-2147483648" != array(0) {}
! 387: string(11) "-2147483648" == int(-2147483648)
! 388: string(11) "-2147483648" == string(11) "-2147483648"
! 389: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>