1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-07 13:46:38 +02:00

Split interfaces and base/abstract classes into more sensible pieces

This commit is contained in:
Jordi Boggiano
2015-10-09 20:41:09 +01:00
parent 39f8a20e6d
commit 902c0c8694
17 changed files with 356 additions and 209 deletions

View File

@@ -14,9 +14,21 @@ namespace Monolog\Handler;
use Monolog\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', array(Logger::WARNING, false));
$handler->setFormatter($formatter = new LineFormatter);
$this->assertSame($formatter, $handler->getFormatter());
}
/**
* @covers Monolog\Handler\AbstractProcessingHandler::handle
*/
@@ -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());
}
}