Annotation of embedaddon/php/ext/standard/tests/math/hypot_variation2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test hypot() function : usage variations - different data types as $y argument
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : float hypot ( float $x , float $y )
! 6: * Description: Calculate the length of the hypotenuse of a right-angle triangle
! 7: * Source code: ext/standard/math.c
! 8: */
! 9:
! 10: echo "*** Testing hypot() : usage variations ***\n";
! 11:
! 12: //get an unset variable
! 13: $unset_var = 10;
! 14: unset ($unset_var);
! 15:
! 16: // heredoc string
! 17: $heredoc = <<<EOT
! 18: abc
! 19: xyz
! 20: EOT;
! 21:
! 22: // get a class
! 23: class classA
! 24: {
! 25: }
! 26:
! 27: // get a resource variable
! 28: $fp = fopen(__FILE__, "r");
! 29:
! 30: // unexpected values to be passed to $arg argument
! 31: $inputs = array(
! 32: // int data
! 33: /*1*/ 0,
! 34: 1,
! 35: 12345,
! 36: -2345,
! 37: 2147483647,
! 38:
! 39: // float data
! 40: /*6*/ 10.5,
! 41: -10.5,
! 42: 12.3456789000e10,
! 43: 12.3456789000E-10,
! 44: .5,
! 45:
! 46: // null data
! 47: /*11*/ NULL,
! 48: null,
! 49:
! 50: // boolean data
! 51: /*13*/ true,
! 52: false,
! 53: TRUE,
! 54: FALSE,
! 55:
! 56: // empty data
! 57: /*17*/ "",
! 58: '',
! 59: array(),
! 60:
! 61: // string data
! 62: /*20*/ "abcxyz",
! 63: 'abcxyz',
! 64: $heredoc,
! 65:
! 66: // object data
! 67: /*23*/ new classA(),
! 68:
! 69: // undefined data
! 70: /*24*/ @$undefined_var,
! 71:
! 72: // unset data
! 73: /*25*/ @$unset_var,
! 74:
! 75: // resource variable
! 76: /*26*/ $fp
! 77: );
! 78:
! 79: // loop through each element of $inputs to check the behaviour of hypot()
! 80: $iterator = 1;
! 81: foreach($inputs as $input) {
! 82: echo "\n-- Iteration $iterator --\n";
! 83: var_dump(hypot(3, $input));
! 84: $iterator++;
! 85: };
! 86: fclose($fp);
! 87: ?>
! 88: ===Done===
! 89: --EXPECTF--
! 90: *** Testing hypot() : usage variations ***
! 91:
! 92: -- Iteration 1 --
! 93: float(3)
! 94:
! 95: -- Iteration 2 --
! 96: float(3.1622776601684)
! 97:
! 98: -- Iteration 3 --
! 99: float(12345.00036452)
! 100:
! 101: -- Iteration 4 --
! 102: float(2345.0019189758)
! 103:
! 104: -- Iteration 5 --
! 105: float(2147483647)
! 106:
! 107: -- Iteration 6 --
! 108: float(10.920164833921)
! 109:
! 110: -- Iteration 7 --
! 111: float(10.920164833921)
! 112:
! 113: -- Iteration 8 --
! 114: float(123456789000)
! 115:
! 116: -- Iteration 9 --
! 117: float(3)
! 118:
! 119: -- Iteration 10 --
! 120: float(3.0413812651491)
! 121:
! 122: -- Iteration 11 --
! 123: float(3)
! 124:
! 125: -- Iteration 12 --
! 126: float(3)
! 127:
! 128: -- Iteration 13 --
! 129: float(3.1622776601684)
! 130:
! 131: -- Iteration 14 --
! 132: float(3)
! 133:
! 134: -- Iteration 15 --
! 135: float(3.1622776601684)
! 136:
! 137: -- Iteration 16 --
! 138: float(3)
! 139:
! 140: -- Iteration 17 --
! 141:
! 142: Warning: hypot() expects parameter 2 to be double, string given in %s on line %d
! 143: NULL
! 144:
! 145: -- Iteration 18 --
! 146:
! 147: Warning: hypot() expects parameter 2 to be double, string given in %s on line %d
! 148: NULL
! 149:
! 150: -- Iteration 19 --
! 151:
! 152: Warning: hypot() expects parameter 2 to be double, array given in %s on line %d
! 153: NULL
! 154:
! 155: -- Iteration 20 --
! 156:
! 157: Warning: hypot() expects parameter 2 to be double, string given in %s on line %d
! 158: NULL
! 159:
! 160: -- Iteration 21 --
! 161:
! 162: Warning: hypot() expects parameter 2 to be double, string given in %s on line %d
! 163: NULL
! 164:
! 165: -- Iteration 22 --
! 166:
! 167: Warning: hypot() expects parameter 2 to be double, string given in %s on line %d
! 168: NULL
! 169:
! 170: -- Iteration 23 --
! 171:
! 172: Warning: hypot() expects parameter 2 to be double, object given in %s on line %d
! 173: NULL
! 174:
! 175: -- Iteration 24 --
! 176: float(3)
! 177:
! 178: -- Iteration 25 --
! 179: float(3)
! 180:
! 181: -- Iteration 26 --
! 182:
! 183: Warning: hypot() expects parameter 2 to be double, resource given in %s on line %d
! 184: NULL
! 185: ===Done===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>