2013-11-28 22:17:01 +01:00
|
|
|
<?php
|
|
|
|
|
2013-12-14 11:41:21 +01:00
|
|
|
namespace PHPCI\Plugin\Tests\Helper;
|
|
|
|
|
2013-12-13 17:10:54 +01:00
|
|
|
use \PHPCI\Logging\LoggerConfig;
|
2013-11-28 22:36:56 +01:00
|
|
|
|
2013-12-17 16:03:48 +01:00
|
|
|
class LoggerConfigTest extends \PHPUnit_Framework_TestCase
|
2013-11-28 22:17:01 +01:00
|
|
|
{
|
|
|
|
public function testGetFor_ReturnsPSRLogger()
|
|
|
|
{
|
2013-11-28 22:36:56 +01:00
|
|
|
$config = new LoggerConfig(array());
|
2013-11-28 22:17:01 +01:00
|
|
|
$logger = $config->getFor("something");
|
|
|
|
$this->assertInstanceOf('\Psr\Log\LoggerInterface', $logger);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testGetFor_ReturnsMonologInstance()
|
|
|
|
{
|
2013-11-28 22:36:56 +01:00
|
|
|
$config = new LoggerConfig(array());
|
2013-11-28 22:17:01 +01:00
|
|
|
$logger = $config->getFor("something");
|
|
|
|
$this->assertInstanceOf('\Monolog\Logger', $logger);
|
|
|
|
}
|
2013-11-28 22:36:56 +01:00
|
|
|
|
|
|
|
public function testGetFor_AttachesAlwaysPresentHandlers()
|
|
|
|
{
|
2013-12-17 16:05:08 +01:00
|
|
|
$expectedHandler = new \Monolog\Handler\NullHandler();
|
2013-11-28 22:36:56 +01:00
|
|
|
$config = new LoggerConfig(array(
|
|
|
|
LoggerConfig::KEY_AlwaysLoaded => function() use ($expectedHandler) {
|
|
|
|
return array($expectedHandler);
|
|
|
|
}
|
|
|
|
));
|
|
|
|
|
|
|
|
/** @var \Monolog\Logger $logger */
|
|
|
|
$logger = $config->getFor("something");
|
|
|
|
$actualHandler = $logger->popHandler();
|
|
|
|
|
|
|
|
$this->assertEquals($expectedHandler, $actualHandler);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testGetFor_AttachesSpecificHandlers()
|
|
|
|
{
|
2013-12-17 16:05:08 +01:00
|
|
|
$expectedHandler = new \Monolog\Handler\NullHandler();
|
2013-11-28 22:36:56 +01:00
|
|
|
$config = new LoggerConfig(array(
|
|
|
|
"Specific" => function() use ($expectedHandler) {
|
|
|
|
return array($expectedHandler);
|
|
|
|
}
|
|
|
|
));
|
|
|
|
|
|
|
|
/** @var \Monolog\Logger $logger */
|
|
|
|
$logger = $config->getFor("Specific");
|
|
|
|
$actualHandler = $logger->popHandler();
|
|
|
|
|
|
|
|
$this->assertSame($expectedHandler, $actualHandler);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testGetFor_IgnoresAlternativeHandlers()
|
|
|
|
{
|
2013-12-17 16:05:08 +01:00
|
|
|
$expectedHandler = new \Monolog\Handler\NullHandler();
|
|
|
|
$alternativeHandler = new \Monolog\Handler\NullHandler();
|
2013-11-28 22:36:56 +01:00
|
|
|
|
|
|
|
$config = new LoggerConfig(array(
|
|
|
|
"Specific" => function() use ($expectedHandler) {
|
|
|
|
return array($expectedHandler);
|
|
|
|
},
|
|
|
|
"Other" => function() use ($alternativeHandler) {
|
|
|
|
return array($alternativeHandler);
|
|
|
|
}
|
|
|
|
));
|
|
|
|
|
|
|
|
/** @var \Monolog\Logger $logger */
|
|
|
|
$logger = $config->getFor("Specific");
|
|
|
|
$actualHandler = $logger->popHandler();
|
|
|
|
|
|
|
|
$this->assertSame($expectedHandler, $actualHandler);
|
|
|
|
$this->assertNotSame($alternativeHandler, $actualHandler);
|
|
|
|
}
|
2013-11-28 22:17:01 +01:00
|
|
|
}
|
|
|
|
|