mb_ereg1.phpt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. --TEST--
  2. mb_ereg() and invalid arguments
  3. --EXTENSIONS--
  4. mbstring
  5. --SKIPIF--
  6. <?php if (!function_exists("mb_ereg")) print "skip"; ?>
  7. --FILE--
  8. <?php
  9. $a = array(
  10. array(1,2,3),
  11. array("", "", ""),
  12. array(array(), 1, ""),
  13. array(1, array(), ""),
  14. array(1, "", array()),
  15. );
  16. foreach ($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--
  26. bool(false)
  27. array(3) {
  28. [0]=>
  29. int(1)
  30. [1]=>
  31. int(2)
  32. [2]=>
  33. array(0) {
  34. }
  35. }
  36. ValueError: mb_ereg(): Argument #1 ($pattern) must not be empty
  37. array(3) {
  38. [0]=>
  39. string(0) ""
  40. [1]=>
  41. string(0) ""
  42. [2]=>
  43. string(0) ""
  44. }
  45. TypeError: mb_ereg(): Argument #1 ($pattern) must be of type string, array given
  46. array(3) {
  47. [0]=>
  48. array(0) {
  49. }
  50. [1]=>
  51. int(1)
  52. [2]=>
  53. string(0) ""
  54. }
  55. TypeError: mb_ereg(): Argument #2 ($string) must be of type string, array given
  56. array(3) {
  57. [0]=>
  58. int(1)
  59. [1]=>
  60. array(0) {
  61. }
  62. [2]=>
  63. string(0) ""
  64. }
  65. bool(false)
  66. array(3) {
  67. [0]=>
  68. int(1)
  69. [1]=>
  70. string(0) ""
  71. [2]=>
  72. array(0) {
  73. }
  74. }