bug43994.phpt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. --TEST--
  2. Test mb_ereg() function : mb_ereg 'successfully' matching incorrectly
  3. --SKIPIF--
  4. <?php
  5. extension_loaded('mbstring') or die('skip');
  6. function_exists('mb_ereg') or die("skip mb_ereg() is not available in this build");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* Prototype : int mb_ereg(string $pattern, string $string [, array $registers])
  11. * Description: Regular expression match for multibyte string
  12. * Source code: ext/mbstring/php_mbregex.c
  13. */
  14. /*
  15. * mb_ereg 'successfully' matching incorrectly:
  16. * Bug now seems to be fixed - error message is now generated when an 'empty'
  17. * pattern is supplied to mb_ereg. Similar error message to ereg().
  18. */
  19. $unset_var = 10;
  20. unset ($unset_var);
  21. $inputs = array(NULL, null, false, FALSE, "", '', @$undefined_var,
  22. @$unset_var);
  23. $iterator = 1;
  24. foreach($inputs as $input) {
  25. if(@is_array($mb_regs)){
  26. $mb_regs = '';
  27. }
  28. echo "\n-- Iteration $iterator --\n";
  29. echo "Without \$regs arg:\n";
  30. var_dump( mb_ereg($input, 'hello, world') );
  31. echo "With \$regs arg:\n";
  32. var_dump(mb_ereg($input, 'hello, world', $mb_regs));
  33. var_dump($mb_regs);
  34. $iterator++;
  35. };
  36. ?>
  37. --EXPECTF--
  38. -- Iteration 1 --
  39. Without $regs arg:
  40. Warning: mb_ereg(): empty pattern in %s on line %d
  41. bool(false)
  42. With $regs arg:
  43. Warning: mb_ereg(): empty pattern in %s on line %d
  44. bool(false)
  45. NULL
  46. -- Iteration 2 --
  47. Without $regs arg:
  48. Warning: mb_ereg(): empty pattern in %s on line %d
  49. bool(false)
  50. With $regs arg:
  51. Warning: mb_ereg(): empty pattern in %s on line %d
  52. bool(false)
  53. NULL
  54. -- Iteration 3 --
  55. Without $regs arg:
  56. Warning: mb_ereg(): empty pattern in %s on line %d
  57. bool(false)
  58. With $regs arg:
  59. Warning: mb_ereg(): empty pattern in %s on line %d
  60. bool(false)
  61. NULL
  62. -- Iteration 4 --
  63. Without $regs arg:
  64. Warning: mb_ereg(): empty pattern in %s on line %d
  65. bool(false)
  66. With $regs arg:
  67. Warning: mb_ereg(): empty pattern in %s on line %d
  68. bool(false)
  69. NULL
  70. -- Iteration 5 --
  71. Without $regs arg:
  72. Warning: mb_ereg(): empty pattern in %s on line %d
  73. bool(false)
  74. With $regs arg:
  75. Warning: mb_ereg(): empty pattern in %s on line %d
  76. bool(false)
  77. NULL
  78. -- Iteration 6 --
  79. Without $regs arg:
  80. Warning: mb_ereg(): empty pattern in %s on line %d
  81. bool(false)
  82. With $regs arg:
  83. Warning: mb_ereg(): empty pattern in %s on line %d
  84. bool(false)
  85. NULL
  86. -- Iteration 7 --
  87. Without $regs arg:
  88. Warning: mb_ereg(): empty pattern in %s on line %d
  89. bool(false)
  90. With $regs arg:
  91. Warning: mb_ereg(): empty pattern in %s on line %d
  92. bool(false)
  93. NULL
  94. -- Iteration 8 --
  95. Without $regs arg:
  96. Warning: mb_ereg(): empty pattern in %s on line %d
  97. bool(false)
  98. With $regs arg:
  99. Warning: mb_ereg(): empty pattern in %s on line %d
  100. bool(false)
  101. NULL