breakiter_setText_error.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. IntlBreakIterator::setText(): arg errors
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded('intl'))
  6. die('skip intl extension not enabled');
  7. --FILE--
  8. <?php
  9. ini_set("intl.error_level", E_WARNING);
  10. $bi = new IntlRuleBasedBreakIterator('[\p{Letter}]+;');
  11. var_dump($bi->setText());
  12. var_dump($bi->setText(array()));
  13. var_dump($bi->setText(1,2));
  14. class A {
  15. function __destruct() { var_dump('destructed'); throw new Exception('e'); }
  16. function __tostring() { return 'foo'; }
  17. }
  18. try {
  19. var_dump($bi->setText(new A));
  20. } catch (Exception $e) {
  21. var_dump($e->getMessage());
  22. }
  23. --EXPECTF--
  24. Warning: IntlBreakIterator::setText() expects exactly 1 parameter, 0 given in %s on line %d
  25. Warning: IntlBreakIterator::setText(): breakiter_set_text: bad arguments in %s on line %d
  26. bool(false)
  27. Warning: IntlBreakIterator::setText() expects parameter 1 to be string, array given in %s on line %d
  28. Warning: IntlBreakIterator::setText(): breakiter_set_text: bad arguments in %s on line %d
  29. bool(false)
  30. Warning: IntlBreakIterator::setText() expects exactly 1 parameter, 2 given in %s on line %d
  31. Warning: IntlBreakIterator::setText(): breakiter_set_text: bad arguments in %s on line %d
  32. bool(false)
  33. string(10) "destructed"
  34. string(1) "e"