1--TEST-- 2Test array_diff_uassoc() function : error conditions 3--FILE-- 4<?php 5echo "*** Testing array_diff_uassoc() : error conditions ***\n"; 6 7//Initialize array 8$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); 9$array2 = array("a" => "green", "yellow", "red"); 10$array3 = array("a" => "green", "red"); 11$array4 = array(); 12$extra_arg = array(1, 2, 3, 4); 13 14function key_compare_func($a, $b) 15{ 16 if ($a === $b) { 17 return 0; 18 } 19 return ($a > $b)? 1:-1; 20} 21 22//Test array_diff_uassoc with one more than the expected number of arguments 23echo "\n-- Testing array_diff_uassoc() function with more than expected no. of arguments --\n"; 24try { 25 var_dump( array_diff_uassoc($array1, $array2, "key_compare_func", $extra_arg) ); 26} catch (TypeError $e) { 27 echo $e->getMessage(), "\n"; 28} 29try { 30 var_dump( array_diff_uassoc($array1, $array2, $array3, $array4, "key_compare_func", $extra_arg) ); 31} catch (TypeError $e) { 32 echo $e->getMessage(), "\n"; 33} 34 35// Testing array_diff_uassoc with one less than the expected number of arguments 36echo "\n-- Testing array_diff_uassoc() function with less than expected no. of arguments --\n"; 37try { 38 var_dump( array_diff_uassoc($array1, $array2) ); 39} catch (TypeError $e) { 40 echo $e->getMessage(), "\n"; 41} 42 43?> 44--EXPECT-- 45*** Testing array_diff_uassoc() : error conditions *** 46 47-- Testing array_diff_uassoc() function with more than expected no. of arguments -- 48array_diff_uassoc(): Argument #4 must be a valid callback, array must have exactly two members 49array_diff_uassoc(): Argument #6 must be a valid callback, array must have exactly two members 50 51-- Testing array_diff_uassoc() function with less than expected no. of arguments -- 52array_diff_uassoc(): Argument #2 must be a valid callback, array must have exactly two members 53