bug46241.phpt 968 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --TEST--
  2. Bug #46241 (error handler stacks)
  3. --FILE--
  4. <?php
  5. class ErrorHandling
  6. {
  7. public function errorHandler1( $errno, $errstr )
  8. {
  9. echo "Caught on first level: '$errstr'\n";
  10. return true;
  11. }
  12. public function errorHandler2( $errno, $errstr )
  13. {
  14. echo "Caught on second level: '$errstr'\n";
  15. return true;
  16. }
  17. }
  18. $err = new ErrorHandling();
  19. set_error_handler( array( $err, 'errorHandler1' ) );
  20. set_error_handler( array( $err, 'errorHandler2' ) );
  21. trigger_error( 'Foo', E_USER_WARNING );
  22. function errorHandler1( $errno, $errstr )
  23. {
  24. echo "Caught on first level: '$errstr'\n";
  25. return true;
  26. }
  27. function errorHandler2( $errno, $errstr )
  28. {
  29. echo "Caught on second level: '$errstr'\n";
  30. return true;
  31. }
  32. set_error_handler( 'errorHandler1' );
  33. set_error_handler( 'errorHandler2' );
  34. trigger_error( 'Foo', E_USER_WARNING );
  35. ?>
  36. ==END==
  37. --EXPECT--
  38. Caught on second level: 'Foo'
  39. Caught on second level: 'Foo'
  40. ==END==