123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?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');
- }
- }
|