Annotation of embedaddon/php/ext/standard/tests/array/array_intersect_assoc_variation1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test array_intersect_assoc() function : usage variations - unexpected values for 'arr1' argument(Bug#43196)
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : array array_intersect_assoc(array $arr1, array $arr2 [, array $...])
! 6: * Description: Returns the entries of arr1 that have values which are present in all the other arguments.
! 7: * Keys are used to do more restrictive check
! 8: * Source code: ext/standard/array.c
! 9: */
! 10:
! 11: /*
! 12: * Testing array_intersect_assoc() function by passing values to $arr1 argument other than arrays
! 13: * and see that function emits proper warning messages wherever expected.
! 14: * The $arr2 argument passed is a fixed array.
! 15: */
! 16:
! 17: echo "*** Testing array_intersect_assoc() : Passing non-array values to \$arr1 argument ***\n";
! 18:
! 19: // array to be passsed to $arr2 as default argument
! 20: $arr2 = array(1, 2);
! 21:
! 22: // additional array to be passed for intersection
! 23: $arr3 = array(1, 2, "one" => 1, "two" => 2);
! 24:
! 25: // get an unset variable
! 26: $unset_var = 10;
! 27: unset ($unset_var);
! 28:
! 29: // get a class
! 30: class classA
! 31: {
! 32: public function __toString() {
! 33: return "Class A object";
! 34: }
! 35: }
! 36:
! 37: // heredoc string
! 38: $heredoc = <<<EOT
! 39: hello world
! 40: EOT;
! 41:
! 42: // get a resource variable
! 43: $fp = fopen(__FILE__, "r");
! 44:
! 45: // unexpected values to be passed to $arr1 argument
! 46: $arrays = array(
! 47:
! 48: // int data
! 49: /*1*/ 0,
! 50: 1,
! 51: 12345,
! 52: -2345,
! 53:
! 54: // float data
! 55: /*5*/ 10.5,
! 56: -10.5,
! 57: 12.3456789000e10,
! 58: 12.3456789000E-10,
! 59: .5,
! 60:
! 61: // null data
! 62: /*10*/ NULL,
! 63: null,
! 64:
! 65: // boolean data
! 66: /*12*/ true,
! 67: false,
! 68: TRUE,
! 69: FALSE,
! 70:
! 71: // empty data
! 72: /*16*/ "",
! 73: '',
! 74:
! 75: // string data
! 76: /*18*/ "string",
! 77: 'string',
! 78: $heredoc,
! 79:
! 80: // object data
! 81: /*21*/ new classA(),
! 82:
! 83: // undefined data
! 84: /*22*/ @$undefined_var,
! 85:
! 86: // unset data
! 87: /*23*/ @$unset_var,
! 88:
! 89: // resource variable
! 90: /*24*/ $fp
! 91: );
! 92:
! 93: // loop through each sub-array within $arrrays to check the behavior of array_intersect_assoc()
! 94: $iterator = 1;
! 95: foreach($arrays as $unexpected_value) {
! 96: echo "\n-- Iteration $iterator --";
! 97:
! 98: // Calling array_intersect_assoc() with default arguments
! 99: var_dump( array_intersect_assoc($unexpected_value, $arr2) );
! 100:
! 101: // Calling array_intersect_assoc() with more arguments
! 102: var_dump( array_intersect_assoc($unexpected_value, $arr2, $arr3) );
! 103: $iterator++;
! 104: }
! 105:
! 106: // close the file resource used
! 107: fclose($fp);
! 108:
! 109: echo "Done";
! 110: ?>
! 111: --EXPECTF--
! 112: *** Testing array_intersect_assoc() : Passing non-array values to $arr1 argument ***
! 113:
! 114: -- Iteration 1 --
! 115: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 116: NULL
! 117:
! 118: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 119: NULL
! 120:
! 121: -- Iteration 2 --
! 122: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 123: NULL
! 124:
! 125: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 126: NULL
! 127:
! 128: -- Iteration 3 --
! 129: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 130: NULL
! 131:
! 132: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 133: NULL
! 134:
! 135: -- Iteration 4 --
! 136: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 137: NULL
! 138:
! 139: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 140: NULL
! 141:
! 142: -- Iteration 5 --
! 143: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 144: NULL
! 145:
! 146: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 147: NULL
! 148:
! 149: -- Iteration 6 --
! 150: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 151: NULL
! 152:
! 153: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 154: NULL
! 155:
! 156: -- Iteration 7 --
! 157: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 158: NULL
! 159:
! 160: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 161: NULL
! 162:
! 163: -- Iteration 8 --
! 164: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 165: NULL
! 166:
! 167: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 168: NULL
! 169:
! 170: -- Iteration 9 --
! 171: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 172: NULL
! 173:
! 174: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 175: NULL
! 176:
! 177: -- Iteration 10 --
! 178: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 179: NULL
! 180:
! 181: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 182: NULL
! 183:
! 184: -- Iteration 11 --
! 185: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 186: NULL
! 187:
! 188: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 189: NULL
! 190:
! 191: -- Iteration 12 --
! 192: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 193: NULL
! 194:
! 195: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 196: NULL
! 197:
! 198: -- Iteration 13 --
! 199: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 200: NULL
! 201:
! 202: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 203: NULL
! 204:
! 205: -- Iteration 14 --
! 206: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 207: NULL
! 208:
! 209: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 210: NULL
! 211:
! 212: -- Iteration 15 --
! 213: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 214: NULL
! 215:
! 216: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 217: NULL
! 218:
! 219: -- Iteration 16 --
! 220: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 221: NULL
! 222:
! 223: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 224: NULL
! 225:
! 226: -- Iteration 17 --
! 227: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 228: NULL
! 229:
! 230: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 231: NULL
! 232:
! 233: -- Iteration 18 --
! 234: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 235: NULL
! 236:
! 237: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 238: NULL
! 239:
! 240: -- Iteration 19 --
! 241: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 242: NULL
! 243:
! 244: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 245: NULL
! 246:
! 247: -- Iteration 20 --
! 248: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 249: NULL
! 250:
! 251: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 252: NULL
! 253:
! 254: -- Iteration 21 --
! 255: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 256: NULL
! 257:
! 258: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 259: NULL
! 260:
! 261: -- Iteration 22 --
! 262: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 263: NULL
! 264:
! 265: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 266: NULL
! 267:
! 268: -- Iteration 23 --
! 269: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 270: NULL
! 271:
! 272: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 273: NULL
! 274:
! 275: -- Iteration 24 --
! 276: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 277: NULL
! 278:
! 279: Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
! 280: NULL
! 281: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>