2013-11-28 22:17:01 +01:00
|
|
|
<?php
|
|
|
|
|
2015-03-03 17:18:17 +01:00
|
|
|
/**
|
|
|
|
* PHPCI - Continuous Integration for PHP
|
|
|
|
*
|
|
|
|
* @copyright Copyright 2015, Block 8 Limited.
|
|
|
|
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
|
|
|
|
* @link https://www.phptesting.org/
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Tests\PHPCI\Plugin\Helper;
|
2013-12-14 11:41:21 +01:00
|
|
|
|
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(
|
2014-02-27 15:23:51 +01:00
|
|
|
LoggerConfig::KEY_ALWAYS_LOADED => function() use ($expectedHandler) {
|
2013-11-28 22:36:56 +01:00
|
|
|
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);
|
|
|
|
}
|
2015-03-03 17:18:17 +01:00
|
|
|
|
2015-03-30 08:56:30 +02:00
|
|
|
public function testGetFor_SameInstance()
|
|
|
|
{
|
|
|
|
$config = new LoggerConfig(array());
|
|
|
|
|
|
|
|
$logger1 = $config->getFor("something");
|
|
|
|
$logger2 = $config->getFor("something");
|
|
|
|
|
|
|
|
$this->assertSame($logger1, $logger2);
|
|
|
|
}
|
|
|
|
}
|