/vendor/monolog/monolog/tests/Monolog/RegistryTest.php |
@@ -0,0 +1,153 @@ |
<?php |
|
/* |
* This file is part of the Monolog package. |
* |
* (c) Jordi Boggiano <j.boggiano@seld.be> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Monolog; |
|
class RegistryTest extends \PHPUnit_Framework_TestCase |
{ |
protected function setUp() |
{ |
Registry::clear(); |
} |
|
/** |
* @dataProvider hasLoggerProvider |
* @covers Monolog\Registry::hasLogger |
*/ |
public function testHasLogger(array $loggersToAdd, array $loggersToCheck, array $expectedResult) |
{ |
foreach ($loggersToAdd as $loggerToAdd) { |
Registry::addLogger($loggerToAdd); |
} |
foreach ($loggersToCheck as $index => $loggerToCheck) { |
$this->assertSame($expectedResult[$index], Registry::hasLogger($loggerToCheck)); |
} |
} |
|
public function hasLoggerProvider() |
{ |
$logger1 = new Logger('test1'); |
$logger2 = new Logger('test2'); |
$logger3 = new Logger('test3'); |
|
return array( |
// only instances |
array( |
array($logger1), |
array($logger1, $logger2), |
array(true, false), |
), |
// only names |
array( |
array($logger1), |
array('test1', 'test2'), |
array(true, false), |
), |
// mixed case |
array( |
array($logger1, $logger2), |
array('test1', $logger2, 'test3', $logger3), |
array(true, true, false, false), |
), |
); |
} |
|
/** |
* @covers Monolog\Registry::clear |
*/ |
public function testClearClears() |
{ |
Registry::addLogger(new Logger('test1'), 'log'); |
Registry::clear(); |
|
$this->setExpectedException('\InvalidArgumentException'); |
Registry::getInstance('log'); |
} |
|
/** |
* @dataProvider removedLoggerProvider |
* @covers Monolog\Registry::addLogger |
* @covers Monolog\Registry::removeLogger |
*/ |
public function testRemovesLogger($loggerToAdd, $remove) |
{ |
Registry::addLogger($loggerToAdd); |
Registry::removeLogger($remove); |
|
$this->setExpectedException('\InvalidArgumentException'); |
Registry::getInstance($loggerToAdd->getName()); |
} |
|
public function removedLoggerProvider() |
{ |
$logger1 = new Logger('test1'); |
|
return array( |
array($logger1, $logger1), |
array($logger1, 'test1'), |
); |
} |
|
/** |
* @covers Monolog\Registry::addLogger |
* @covers Monolog\Registry::getInstance |
* @covers Monolog\Registry::__callStatic |
*/ |
public function testGetsSameLogger() |
{ |
$logger1 = new Logger('test1'); |
$logger2 = new Logger('test2'); |
|
Registry::addLogger($logger1, 'test1'); |
Registry::addLogger($logger2); |
|
$this->assertSame($logger1, Registry::getInstance('test1')); |
$this->assertSame($logger2, Registry::test2()); |
} |
|
/** |
* @expectedException \InvalidArgumentException |
* @covers Monolog\Registry::getInstance |
*/ |
public function testFailsOnNonExistantLogger() |
{ |
Registry::getInstance('test1'); |
} |
|
/** |
* @covers Monolog\Registry::addLogger |
*/ |
public function testReplacesLogger() |
{ |
$log1 = new Logger('test1'); |
$log2 = new Logger('test2'); |
|
Registry::addLogger($log1, 'log'); |
|
Registry::addLogger($log2, 'log', true); |
|
$this->assertSame($log2, Registry::getInstance('log')); |
} |
|
/** |
* @expectedException \InvalidArgumentException |
* @covers Monolog\Registry::addLogger |
*/ |
public function testFailsOnUnspecifiedReplacement() |
{ |
$log1 = new Logger('test1'); |
$log2 = new Logger('test2'); |
|
Registry::addLogger($log1, 'log'); |
|
Registry::addLogger($log2, 'log'); |
} |
} |