diff options
Diffstat (limited to 'tests/Monolog/Handler/AbstractProcessingHandlerTest.php')
-rw-r--r-- | tests/Monolog/Handler/AbstractProcessingHandlerTest.php | 68 |
1 files changed, 60 insertions, 8 deletions
diff --git a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php index 24d4f63..58d0920 100644 --- a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php +++ b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of the Monolog package. @@ -11,18 +11,30 @@ namespace Monolog\Handler; -use Monolog\TestCase; +use Monolog\Test\TestCase; use Monolog\Logger; use Monolog\Processor\WebProcessor; +use Monolog\Formatter\LineFormatter; class AbstractProcessingHandlerTest extends TestCase { /** + * @covers Monolog\Handler\FormattableHandlerTrait::getFormatter + * @covers Monolog\Handler\FormattableHandlerTrait::setFormatter + */ + public function testConstructAndGetSet() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::WARNING, false]); + $handler->setFormatter($formatter = new LineFormatter); + $this->assertSame($formatter, $handler->getFormatter()); + } + + /** * @covers Monolog\Handler\AbstractProcessingHandler::handle */ public function testHandleLowerLevelMessage() { - $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, true)); + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::WARNING, true]); $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG))); } @@ -31,7 +43,7 @@ class AbstractProcessingHandlerTest extends TestCase */ public function testHandleBubbling() { - $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, true)); + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::DEBUG, true]); $this->assertFalse($handler->handle($this->getRecord())); } @@ -40,7 +52,7 @@ class AbstractProcessingHandlerTest extends TestCase */ public function testHandleNotBubbling() { - $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, false)); + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::DEBUG, false]); $this->assertTrue($handler->handle($this->getRecord())); } @@ -49,7 +61,7 @@ class AbstractProcessingHandlerTest extends TestCase */ public function testHandleIsFalseWhenNotHandled() { - $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, false)); + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::WARNING, false]); $this->assertTrue($handler->handle($this->getRecord())); $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG))); } @@ -60,13 +72,13 @@ class AbstractProcessingHandlerTest extends TestCase public function testProcessRecord() { $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler'); - $handler->pushProcessor(new WebProcessor(array( + $handler->pushProcessor(new WebProcessor([ 'REQUEST_URI' => '', 'REQUEST_METHOD' => '', 'REMOTE_ADDR' => '', 'SERVER_NAME' => '', 'UNIQUE_ID' => '', - ))); + ])); $handledRecord = null; $handler->expects($this->once()) ->method('write') @@ -77,4 +89,44 @@ class AbstractProcessingHandlerTest extends TestCase $handler->handle($this->getRecord()); $this->assertEquals(6, count($handledRecord['extra'])); } + + /** + * @covers Monolog\Handler\ProcessableHandlerTrait::pushProcessor + * @covers Monolog\Handler\ProcessableHandlerTrait::popProcessor + * @expectedException LogicException + */ + public function testPushPopProcessor() + { + $logger = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler'); + $processor1 = new WebProcessor; + $processor2 = new WebProcessor; + + $logger->pushProcessor($processor1); + $logger->pushProcessor($processor2); + + $this->assertEquals($processor2, $logger->popProcessor()); + $this->assertEquals($processor1, $logger->popProcessor()); + $logger->popProcessor(); + } + + /** + * @covers Monolog\Handler\ProcessableHandlerTrait::pushProcessor + * @expectedException TypeError + */ + public function testPushProcessorWithNonCallable() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler'); + + $handler->pushProcessor(new \stdClass()); + } + + /** + * @covers Monolog\Handler\FormattableHandlerTrait::getFormatter + * @covers Monolog\Handler\FormattableHandlerTrait::getDefaultFormatter + */ + public function testGetFormatterInitializesDefault() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler'); + $this->assertInstanceOf(LineFormatter::class, $handler->getFormatter()); + } } |