Вход Регистрация
Файл: gapps/vendor/monolog/monolog/tests/Monolog/RegistryTest.php
Строк: 98
<?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 MonologRegistry::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(
truefalse),
            ),
            
// only names
            
array(
                array(
$logger1),
                array(
'test1''test2'),
                array(
truefalse),
            ),
            
// mixed case
            
array(
                array(
$logger1$logger2),
                array(
'test1'$logger2'test3'$logger3),
                array(
truetruefalsefalse),
            ),
        );
    }

    
/**
     * @covers MonologRegistry::clear
     */
    
public function testClearClears()
    {
        
Registry::addLogger(new Logger('test1'), 'log');
        
Registry::clear();

        
$this->setExpectedException('InvalidArgumentException');
        
Registry::getInstance('log');
    }

    
/**
     * @dataProvider removedLoggerProvider
     * @covers MonologRegistry::addLogger
     * @covers MonologRegistry::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 MonologRegistry::addLogger
     * @covers MonologRegistry::getInstance
     * @covers MonologRegistry::__callStatic
     */
    
public function testGetsSameLogger()
    {
        
$logger1 = new Logger('test1');
        
$logger2 = new Logger('test2');

        
Registry::addLogger($logger1'test1');
        
Registry::addLogger($logger2);

        
$this->assertSame($logger1Registry::getInstance('test1'));
        
$this->assertSame($logger2Registry::test2());
    }

    
/**
     * @expectedException InvalidArgumentException
     * @covers MonologRegistry::getInstance
     */
    
public function testFailsOnNonExistantLogger()
    {
        
Registry::getInstance('test1');
    }

    
/**
     * @covers MonologRegistry::addLogger
     */
    
public function testReplacesLogger()
    {
        
$log1 = new Logger('test1');
        
$log2 = new Logger('test2');

        
Registry::addLogger($log1'log');

        
Registry::addLogger($log2'log'true);

        
$this->assertSame($log2Registry::getInstance('log'));
    }

    
/**
     * @expectedException InvalidArgumentException
     * @covers MonologRegistry::addLogger
     */
    
public function testFailsOnUnspecifiedReplacement()
    {
        
$log1 = new Logger('test1');
        
$log2 = new Logger('test2');

        
Registry::addLogger($log1'log');

        
Registry::addLogger($log2'log');
    }
}
Онлайн: 1
Реклама