AbstractHandlerTest.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /*
  3. * This file is part of the Monolog package.
  4. *
  5. * (c) Jordi Boggiano <j.boggiano@seld.be>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Monolog\Handler;
  11. use Monolog\Logger;
  12. class AbstractHandlerTest extends \PHPUnit_Framework_TestCase
  13. {
  14. public function testHandle()
  15. {
  16. $handler = new TestHandler();
  17. $this->assertTrue($handler->handle($this->getMessage()));
  18. }
  19. public function testHandleLowerLevelMessage()
  20. {
  21. $handler = new TestHandler(Logger::WARNING);
  22. $this->assertFalse($handler->handle($this->getMessage(Logger::DEBUG)));
  23. }
  24. public function testHandleBubbling()
  25. {
  26. $handler = new TestHandler(Logger::DEBUG, true);
  27. $this->assertFalse($handler->handle($this->getMessage()));
  28. }
  29. public function testHandleNotBubbling()
  30. {
  31. $handler = new TestHandler(Logger::DEBUG);
  32. $this->assertTrue($handler->handle($this->getMessage()));
  33. }
  34. public function testIsHandling()
  35. {
  36. $handler = new TestHandler(Logger::WARNING);
  37. $this->assertTrue($handler->handle($this->getMessage()));
  38. $this->assertFalse($handler->handle($this->getMessage(Logger::DEBUG)));
  39. }
  40. protected function getMessage($level = Logger::WARNING)
  41. {
  42. return array(
  43. 'level' => $level,
  44. 'level_name' => Logger::getLevelName($level),
  45. 'channel' => 'log',
  46. 'message' => 'foo',
  47. 'datetime' => new \DateTime,
  48. 'extra' => array(),
  49. );
  50. }
  51. }