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