Blame | Last modification | View Log | RSS feed
<?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 instancesarray(array($logger1),array($logger1, $logger2),array(true, false),),// only namesarray(array($logger1),array('test1', 'test2'),array(true, false),),// mixed casearray(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');}}