Annotation of embedaddon/php/ext/standard/tests/array/array_intersect_uassoc_error.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test array_intersect_uassoc() function : error conditions
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : array array_intersect_uassoc(array arr1, array arr2 [, array ...], callback key_compare_func)
! 6: * Description: Computes the intersection of arrays with additional index check, compares indexes by a callback function
! 7: * Source code: ext/standard/array.c
! 8: */
! 9:
! 10: echo "*** Testing array_intersect_uassoc() : error conditions ***\n";
! 11:
! 12: // Initialise function arguments
! 13: $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
! 14: $array2 = array("a" => "green", "yellow", "red");
! 15: $array3 = array("a"=>"green", "brown");
! 16: $extra_arg = 10;
! 17:
! 18: //Callback function
! 19: function key_compare_func($a, $b) {
! 20: if ($a === $b) {
! 21: return 0;
! 22: }
! 23: return ($a > $b) ? 1 : -1;
! 24: }
! 25:
! 26: //Test array_intersect_uassoc with one more than the expected number of arguments
! 27: echo "\n-- Testing array_intersect_uassoc() function with more than expected no. of arguments --\n";
! 28: var_dump( array_intersect_uassoc($array1, $array2, 'key_compare_func',$extra_arg) );
! 29:
! 30: // Testing array_intersect_uassoc with one less than the expected number of arguments
! 31: echo "\n-- Testing array_intersect_uassoc() function with less than expected no. of arguments --\n";
! 32: var_dump( array_intersect_uassoc($array1, $array2) );
! 33: var_dump( array_intersect_uassoc($array1, $array2, $array3) );
! 34:
! 35: // Testing array_intersect_uassoc with no arguments
! 36: echo "\n-- Testing array_intersect_uassoc() function with no arguments --\n";
! 37: var_dump( array_intersect_uassoc() );
! 38: ?>
! 39: ===DONE===
! 40: --EXPECTF--
! 41: *** Testing array_intersect_uassoc() : error conditions ***
! 42:
! 43: -- Testing array_intersect_uassoc() function with more than expected no. of arguments --
! 44:
! 45: Warning: array_intersect_uassoc() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
! 46: NULL
! 47:
! 48: -- Testing array_intersect_uassoc() function with less than expected no. of arguments --
! 49:
! 50: Warning: array_intersect_uassoc(): at least 3 parameters are required, 2 given in %s on line %d
! 51: NULL
! 52:
! 53: Warning: array_intersect_uassoc() expects parameter 3 to be a valid callback, second array member is not a valid method in %s on line %d
! 54: NULL
! 55:
! 56: -- Testing array_intersect_uassoc() function with no arguments --
! 57:
! 58: Warning: array_intersect_uassoc(): at least 3 parameters are required, 0 given in %s on line %d
! 59: NULL
! 60: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>