Annotation of embedaddon/php/ext/standard/tests/array/asort_variation2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test asort() function : usage variations - unexpected values for 'sort_flags' argument
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : proto bool asort(array &array_arg [, int sort_flags])
! 6: * Description: Sort an array and maintain index association
! 7: Elements will be arranged from lowest to highest when this function has completed.
! 8: * Source code: ext/standard/array.c
! 9: */
! 10:
! 11: /*
! 12: * Testing asort() by providing different unexpected values for flag argument
! 13: */
! 14:
! 15: echo "*** Testing asort() : usage variations ***\n";
! 16:
! 17: //get an unset variable
! 18: $unset_var = 10;
! 19: unset ($unset_var);
! 20:
! 21: // resource variable
! 22: $fp = fopen(__FILE__, "r");
! 23:
! 24: // temperory array for checking unexpected behavior
! 25: $unsorted_values = array(1 => 10, 2 => 2, 3 => 45);
! 26:
! 27: //array of values to iterate over
! 28: $unexpected_values = array(
! 29:
! 30: // int data
! 31: /*1*/ -2345,
! 32:
! 33: // float data
! 34: /*2*/ 10.5,
! 35: -10.5,
! 36: 10.5e2,
! 37: 10.6E-2,
! 38: .5,
! 39:
! 40: // null data
! 41: /*7*/ NULL,
! 42: null,
! 43:
! 44: // boolean data
! 45: /*9*/ true,
! 46: false,
! 47: TRUE,
! 48: FALSE,
! 49:
! 50: // empty data
! 51: /*13*/ "",
! 52: '',
! 53:
! 54: // string data
! 55: /*15*/ "string",
! 56: 'string',
! 57:
! 58: // object data
! 59: /*16*/ new stdclass(),
! 60:
! 61: // undefined data
! 62: /*17*/ @undefined_var,
! 63:
! 64: // unset data
! 65: /*18*/ @unset_var,
! 66:
! 67: // resource variable
! 68: /*19*/ $fp
! 69:
! 70: );
! 71:
! 72: // loop though each element of the array and check the working of asort()
! 73: // when $flag arugment is supplied with different values from $unexpected_values
! 74: echo "\n-- Testing asort() by supplying different unexpected values for 'sort_flags' argument --\n";
! 75:
! 76: $counter = 1;
! 77: for($index = 0; $index < count($unexpected_values); $index ++) {
! 78: echo "-- Iteration $counter --\n";
! 79: $value = $unexpected_values [$index];
! 80: $temp_array = $unsorted_values;
! 81: var_dump( asort($temp_array, $value) );
! 82: var_dump($temp_array);
! 83: $counter++;
! 84: }
! 85:
! 86: echo "Done";
! 87: ?>
! 88: --EXPECTF--
! 89: *** Testing asort() : usage variations ***
! 90:
! 91: -- Testing asort() by supplying different unexpected values for 'sort_flags' argument --
! 92: -- Iteration 1 --
! 93: bool(true)
! 94: array(3) {
! 95: [2]=>
! 96: int(2)
! 97: [1]=>
! 98: int(10)
! 99: [3]=>
! 100: int(45)
! 101: }
! 102: -- Iteration 2 --
! 103: bool(true)
! 104: array(3) {
! 105: [2]=>
! 106: int(2)
! 107: [1]=>
! 108: int(10)
! 109: [3]=>
! 110: int(45)
! 111: }
! 112: -- Iteration 3 --
! 113: bool(true)
! 114: array(3) {
! 115: [2]=>
! 116: int(2)
! 117: [1]=>
! 118: int(10)
! 119: [3]=>
! 120: int(45)
! 121: }
! 122: -- Iteration 4 --
! 123: bool(true)
! 124: array(3) {
! 125: [2]=>
! 126: int(2)
! 127: [1]=>
! 128: int(10)
! 129: [3]=>
! 130: int(45)
! 131: }
! 132: -- Iteration 5 --
! 133: bool(true)
! 134: array(3) {
! 135: [2]=>
! 136: int(2)
! 137: [1]=>
! 138: int(10)
! 139: [3]=>
! 140: int(45)
! 141: }
! 142: -- Iteration 6 --
! 143: bool(true)
! 144: array(3) {
! 145: [2]=>
! 146: int(2)
! 147: [1]=>
! 148: int(10)
! 149: [3]=>
! 150: int(45)
! 151: }
! 152: -- Iteration 7 --
! 153: bool(true)
! 154: array(3) {
! 155: [2]=>
! 156: int(2)
! 157: [1]=>
! 158: int(10)
! 159: [3]=>
! 160: int(45)
! 161: }
! 162: -- Iteration 8 --
! 163: bool(true)
! 164: array(3) {
! 165: [2]=>
! 166: int(2)
! 167: [1]=>
! 168: int(10)
! 169: [3]=>
! 170: int(45)
! 171: }
! 172: -- Iteration 9 --
! 173: bool(true)
! 174: array(3) {
! 175: [2]=>
! 176: int(2)
! 177: [1]=>
! 178: int(10)
! 179: [3]=>
! 180: int(45)
! 181: }
! 182: -- Iteration 10 --
! 183: bool(true)
! 184: array(3) {
! 185: [2]=>
! 186: int(2)
! 187: [1]=>
! 188: int(10)
! 189: [3]=>
! 190: int(45)
! 191: }
! 192: -- Iteration 11 --
! 193: bool(true)
! 194: array(3) {
! 195: [2]=>
! 196: int(2)
! 197: [1]=>
! 198: int(10)
! 199: [3]=>
! 200: int(45)
! 201: }
! 202: -- Iteration 12 --
! 203: bool(true)
! 204: array(3) {
! 205: [2]=>
! 206: int(2)
! 207: [1]=>
! 208: int(10)
! 209: [3]=>
! 210: int(45)
! 211: }
! 212: -- Iteration 13 --
! 213:
! 214: Warning: asort() expects parameter 2 to be long, string given in %s on line %d
! 215: bool(false)
! 216: array(3) {
! 217: [1]=>
! 218: int(10)
! 219: [2]=>
! 220: int(2)
! 221: [3]=>
! 222: int(45)
! 223: }
! 224: -- Iteration 14 --
! 225:
! 226: Warning: asort() expects parameter 2 to be long, string given in %s on line %d
! 227: bool(false)
! 228: array(3) {
! 229: [1]=>
! 230: int(10)
! 231: [2]=>
! 232: int(2)
! 233: [3]=>
! 234: int(45)
! 235: }
! 236: -- Iteration 15 --
! 237:
! 238: Warning: asort() expects parameter 2 to be long, string given in %s on line %d
! 239: bool(false)
! 240: array(3) {
! 241: [1]=>
! 242: int(10)
! 243: [2]=>
! 244: int(2)
! 245: [3]=>
! 246: int(45)
! 247: }
! 248: -- Iteration 16 --
! 249:
! 250: Warning: asort() expects parameter 2 to be long, string given in %s on line %d
! 251: bool(false)
! 252: array(3) {
! 253: [1]=>
! 254: int(10)
! 255: [2]=>
! 256: int(2)
! 257: [3]=>
! 258: int(45)
! 259: }
! 260: -- Iteration 17 --
! 261:
! 262: Warning: asort() expects parameter 2 to be long, object given in %s on line %d
! 263: bool(false)
! 264: array(3) {
! 265: [1]=>
! 266: int(10)
! 267: [2]=>
! 268: int(2)
! 269: [3]=>
! 270: int(45)
! 271: }
! 272: -- Iteration 18 --
! 273:
! 274: Warning: asort() expects parameter 2 to be long, string given in %s on line %d
! 275: bool(false)
! 276: array(3) {
! 277: [1]=>
! 278: int(10)
! 279: [2]=>
! 280: int(2)
! 281: [3]=>
! 282: int(45)
! 283: }
! 284: -- Iteration 19 --
! 285:
! 286: Warning: asort() expects parameter 2 to be long, string given in %s on line %d
! 287: bool(false)
! 288: array(3) {
! 289: [1]=>
! 290: int(10)
! 291: [2]=>
! 292: int(2)
! 293: [3]=>
! 294: int(45)
! 295: }
! 296: -- Iteration 20 --
! 297:
! 298: Warning: asort() expects parameter 2 to be long, resource given in %s on line %d
! 299: bool(false)
! 300: array(3) {
! 301: [1]=>
! 302: int(10)
! 303: [2]=>
! 304: int(2)
! 305: [3]=>
! 306: int(45)
! 307: }
! 308: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>