1--TEST-- 2Test mb_strpos() function : error conditions - Pass incorrect number of args 3--SKIPIF-- 4<?php 5extension_loaded('mbstring') or die('skip'); 6function_exists('mb_strpos') or die("skip mb_strpos() is not available in this build"); 7?> 8--FILE-- 9<?php 10/* Prototype : int mb_strpos(string $haystack, string $needle [, int $offset [, string $encoding]]) 11 * Description: Find position of first occurrence of a string within another 12 * Source code: ext/mbstring/mbstring.c 13 */ 14 15/* 16 * Test how mb_strpos behaves when passed an incorrect number of arguments 17 */ 18 19echo "*** Testing mb_strpos() : error conditions ***\n"; 20 21 22//Test mb_strpos with one more than the expected number of arguments 23echo "\n-- Testing mb_strpos() function with more than expected no. of arguments --\n"; 24$haystack = 'string_val'; 25$needle = 'string_val'; 26$offset = 10; 27$encoding = 'string_val'; 28$extra_arg = 10; 29var_dump( mb_strpos($haystack, $needle, $offset, $encoding, $extra_arg) ); 30 31// Testing mb_strpos with one less than the expected number of arguments 32echo "\n-- Testing mb_strpos() function with less than expected no. of arguments --\n"; 33$haystack = 'string_val'; 34var_dump( mb_strpos($haystack) ); 35 36echo "Done"; 37?> 38--EXPECTF-- 39*** Testing mb_strpos() : error conditions *** 40 41-- Testing mb_strpos() function with more than expected no. of arguments -- 42 43Warning: mb_strpos() expects at most 4 parameters, 5 given in %s on line %d 44NULL 45 46-- Testing mb_strpos() function with less than expected no. of arguments -- 47 48Warning: mb_strpos() expects at least 2 parameters, 1 given in %s on line %d 49NULL 50Done 51