summaryrefslogtreecommitdiffstats
path: root/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Monolog/Handler/AbstractProcessingHandlerTest.php')
-rw-r--r--tests/Monolog/Handler/AbstractProcessingHandlerTest.php68
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());
+ }
}