xref: /PHP-8.0/ext/mbstring/tests/mb_ereg1.phpt (revision 04441585)
1--TEST--
2mb_ereg() and invalid arguments
3--SKIPIF--
4<?php if (!function_exists("mb_ereg")) print "skip"; ?>
5--FILE--
6<?php
7
8$a = array(
9    array(1,2,3),
10    array("", "", ""),
11    array(array(), 1, ""),
12    array(1, array(), ""),
13    array(1, "", array()),
14    );
15
16foreach ($a as $args) {
17    try {
18        var_dump(mb_ereg($args[0], $args[1], $args[2]));
19    } catch (\TypeError|\ValueError $e) {
20        echo get_class($e) . ': ' . $e->getMessage() . \PHP_EOL;
21    }
22    var_dump($args);
23}
24?>
25--EXPECT--
26bool(false)
27array(3) {
28  [0]=>
29  int(1)
30  [1]=>
31  int(2)
32  [2]=>
33  array(0) {
34  }
35}
36ValueError: mb_ereg(): Argument #1 ($pattern) must not be empty
37array(3) {
38  [0]=>
39  string(0) ""
40  [1]=>
41  string(0) ""
42  [2]=>
43  string(0) ""
44}
45TypeError: mb_ereg(): Argument #1 ($pattern) must be of type string, array given
46array(3) {
47  [0]=>
48  array(0) {
49  }
50  [1]=>
51  int(1)
52  [2]=>
53  string(0) ""
54}
55TypeError: mb_ereg(): Argument #2 ($string) must be of type string, array given
56array(3) {
57  [0]=>
58  int(1)
59  [1]=>
60  array(0) {
61  }
62  [2]=>
63  string(0) ""
64}
65bool(false)
66array(3) {
67  [0]=>
68  int(1)
69  [1]=>
70  string(0) ""
71  [2]=>
72  array(0) {
73  }
74}
75