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