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