mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-08 06:06:40 +02:00
Improved coverage of Logger
This commit is contained in:
@@ -11,8 +11,27 @@
|
||||
|
||||
namespace Monolog;
|
||||
|
||||
use Monolog\Processor\WebProcessor;
|
||||
use Monolog\Handler\TestHandler;
|
||||
|
||||
class LoggerTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @covers Monolog\Logger::__construct
|
||||
*/
|
||||
public function testChannel()
|
||||
{
|
||||
$logger = new Logger('foo');
|
||||
$handler = new TestHandler;
|
||||
$logger->pushHandler($handler);
|
||||
$logger->addWarning('test');
|
||||
list($record) = $handler->getRecords();
|
||||
$this->assertEquals('foo', $record['channel']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Monolog\Logger::addRecord
|
||||
*/
|
||||
public function testLog()
|
||||
{
|
||||
$logger = new Logger(__METHOD__);
|
||||
@@ -25,7 +44,10 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertTrue($logger->addWarning('test'));
|
||||
}
|
||||
|
||||
public function testLogNoHandler()
|
||||
/**
|
||||
* @covers Monolog\Logger::addRecord
|
||||
*/
|
||||
public function testLogNotHandled()
|
||||
{
|
||||
$logger = new Logger(__METHOD__);
|
||||
|
||||
@@ -37,24 +59,108 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertFalse($logger->addWarning('test'));
|
||||
}
|
||||
|
||||
public function logValues()
|
||||
{
|
||||
return array(array(true), array(false));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Monolog\Logger::pushHandler
|
||||
* @covers Monolog\Logger::popHandler
|
||||
* @expectedException LogicException
|
||||
*/
|
||||
public function testPushPopHandler()
|
||||
{
|
||||
$logger = new Logger(__METHOD__);
|
||||
$handler1 = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
|
||||
$handler2 = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
|
||||
$handler3 = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
|
||||
|
||||
$logger->pushHandler($handler1);
|
||||
$logger->pushHandler($handler2);
|
||||
$logger->pushHandler($handler3);
|
||||
|
||||
$this->assertEquals($handler3, $logger->popHandler());
|
||||
$this->assertEquals($handler2, $logger->popHandler());
|
||||
$this->assertEquals($handler1, $logger->popHandler());
|
||||
$logger->popHandler();
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Monolog\Logger::pushProcessor
|
||||
* @covers Monolog\Logger::popProcessor
|
||||
* @expectedException LogicException
|
||||
*/
|
||||
public function testPushPopProcessor()
|
||||
{
|
||||
$logger = new Logger(__METHOD__);
|
||||
$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\Logger::addRecord
|
||||
*/
|
||||
public function testProcessorsAreExecuted()
|
||||
{
|
||||
$logger = new Logger(__METHOD__);
|
||||
$handler = new TestHandler;
|
||||
$logger->pushHandler($handler);
|
||||
$logger->pushProcessor(function($record) {
|
||||
$record['extra']['win'] = true;
|
||||
return $record;
|
||||
});
|
||||
$logger->addError('test');
|
||||
list($record) = $handler->getRecords();
|
||||
$this->assertTrue($record['extra']['win']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider logMethodProvider
|
||||
* @covers Monolog\Logger::addDebug
|
||||
* @covers Monolog\Logger::addInfo
|
||||
* @covers Monolog\Logger::addWarning
|
||||
* @covers Monolog\Logger::addError
|
||||
* @covers Monolog\Logger::addCritical
|
||||
* @covers Monolog\Logger::addAlert
|
||||
* @covers Monolog\Logger::debug
|
||||
* @covers Monolog\Logger::info
|
||||
* @covers Monolog\Logger::notice
|
||||
* @covers Monolog\Logger::warn
|
||||
* @covers Monolog\Logger::err
|
||||
* @covers Monolog\Logger::crit
|
||||
* @covers Monolog\Logger::alert
|
||||
* @covers Monolog\Logger::emerg
|
||||
*/
|
||||
public function testLogMethods($method, $expectedLevel)
|
||||
{
|
||||
$logger = new Logger('foo');
|
||||
$handler = new TestHandler;
|
||||
$logger->pushHandler($handler);
|
||||
$logger->{$method}('test');
|
||||
list($record) = $handler->getRecords();
|
||||
$this->assertEquals($expectedLevel, $record['level']);
|
||||
}
|
||||
|
||||
public function logMethodProvider()
|
||||
{
|
||||
return array(
|
||||
// monolog methods
|
||||
array('addDebug', Logger::DEBUG),
|
||||
array('addInfo', Logger::INFO),
|
||||
array('addWarning', Logger::WARNING),
|
||||
array('addError', Logger::ERROR),
|
||||
array('addCritical', Logger::CRITICAL),
|
||||
array('addAlert', Logger::ALERT),
|
||||
|
||||
// ZF/Sf2 compat methods
|
||||
array('debug', Logger::DEBUG),
|
||||
array('info', Logger::INFO),
|
||||
array('notice', Logger::INFO),
|
||||
array('warn', Logger::WARNING),
|
||||
array('err', Logger::ERROR),
|
||||
array('crit', Logger::CRITICAL),
|
||||
array('alert', Logger::ALERT),
|
||||
array('emerg', Logger::ALERT),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user