Annotation of embedaddon/php/tests/lang/operators/operator_lt_or_equal_variation_64bit.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test <= operator : max int 64bit range
! 3: --SKIPIF--
! 4: <?php
! 5: if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
! 6: ?>
! 7: --FILE--
! 8: <?php
! 9:
! 10: define("MAX_64Bit", 9223372036854775807);
! 11: define("MAX_32Bit", 2147483647);
! 12: define("MIN_64Bit", -9223372036854775807 - 1);
! 13: define("MIN_32Bit", -2147483647 - 1);
! 14:
! 15: $validLtOrEqual = array (
! 16: MAX_32Bit, array(MAX_32Bit, "2147483647", "2147483647.0000000", 2.147483647e9, 2147483647.0, MAX_32Bit + 1),
! 17: MIN_32Bit, array(MIN_32Bit, "-2147483648", "-2147483648.000", -2.147483648e9, -2147483648.0, MIN_32Bit + 1),
! 18: MAX_64Bit, array(MAX_64Bit, MAX_64Bit + 1),
! 19: MIN_64Bit, array(MIN_64Bit, MIN_64Bit - 1, MIN_64Bit + 1),
! 20: );
! 21:
! 22: $invalidLtOrEqual = array (
! 23: MAX_32Bit, array("2147483646", 2.1474836460001e9, MAX_32Bit - 1),
! 24: MIN_32Bit, array(MIN_32Bit - 1, "-2147483649", -2.1474836480001e9)
! 25: );
! 26:
! 27:
! 28: $failed = false;
! 29: // test valid values
! 30: for ($i = 0; $i < count($validLtOrEqual); $i +=2) {
! 31: $typeToTestVal = $validLtOrEqual[$i];
! 32: $compares = $validLtOrEqual[$i + 1];
! 33: foreach($compares as $compareVal) {
! 34: if ($typeToTestVal <= $compareVal) {
! 35: // do nothing
! 36: }
! 37: else {
! 38: echo "FAILED: '$typeToTestVal' > '$compareVal'\n";
! 39: $failed = true;
! 40: }
! 41: }
! 42: }
! 43: // test invalid values
! 44: for ($i = 0; $i < count($invalidLtOrEqual); $i +=2) {
! 45: $typeToTestVal = $invalidLtOrEqual[$i];
! 46: $compares = $invalidLtOrEqual[$i + 1];
! 47: foreach($compares as $compareVal) {
! 48: if ($typeToTestVal <= $compareVal) {
! 49: echo "FAILED: '$typeToTestVal' <= '$compareVal'\n";
! 50: $failed = true;
! 51: }
! 52: }
! 53: }
! 54:
! 55: if ($failed == false) {
! 56: echo "Test Passed\n";
! 57: }
! 58:
! 59: ?>
! 60: ===DONE===
! 61: --EXPECT--
! 62: Test Passed
! 63: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>