Вход Регистрация
Файл: gapps/vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php
Строк: 161
<?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 MonologHandler;

use 
MonologTestCase;
use 
MonologLogger;
use 
MonologFormatterLineFormatter;
use 
MonologProcessorWebProcessor;

class 
AbstractHandlerTest extends TestCase
{
    
/**
     * @covers MonologHandlerAbstractHandler::__construct
     * @covers MonologHandlerAbstractHandler::getLevel
     * @covers MonologHandlerAbstractHandler::setLevel
     * @covers MonologHandlerAbstractHandler::getBubble
     * @covers MonologHandlerAbstractHandler::setBubble
     * @covers MonologHandlerAbstractHandler::getFormatter
     * @covers MonologHandlerAbstractHandler::setFormatter
     */
    
public function testConstructAndGetSet()
    {
        
$handler $this->getMockForAbstractClass('MonologHandlerAbstractHandler', array(Logger::WARNINGfalse));
        
$this->assertEquals(Logger::WARNING$handler->getLevel());
        
$this->assertEquals(false$handler->getBubble());

        
$handler->setLevel(Logger::ERROR);
        
$handler->setBubble(true);
        
$handler->setFormatter($formatter = new LineFormatter);
        
$this->assertEquals(Logger::ERROR$handler->getLevel());
        
$this->assertEquals(true$handler->getBubble());
        
$this->assertSame($formatter$handler->getFormatter());
    }

    
/**
     * @covers MonologHandlerAbstractHandler::handleBatch
     */
    
public function testHandleBatch()
    {
        
$handler $this->getMockForAbstractClass('MonologHandlerAbstractHandler');
        
$handler->expects($this->exactly(2))
            ->
method('handle');
        
$handler->handleBatch(array($this->getRecord(), $this->getRecord()));
    }

    
/**
     * @covers MonologHandlerAbstractHandler::isHandling
     */
    
public function testIsHandling()
    {
        
$handler $this->getMockForAbstractClass('MonologHandlerAbstractHandler', array(Logger::WARNINGfalse));
        
$this->assertTrue($handler->isHandling($this->getRecord()));
        
$this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
    }

    
/**
     * @covers MonologHandlerAbstractHandler::__construct
     */
    
public function testHandlesPsrStyleLevels()
    {
        
$handler $this->getMockForAbstractClass('MonologHandlerAbstractHandler', array('warning'false));
        
$this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
        
$handler->setLevel('debug');
        
$this->assertTrue($handler->isHandling($this->getRecord(Logger::DEBUG)));
    }

    
/**
     * @covers MonologHandlerAbstractHandler::getFormatter
     * @covers MonologHandlerAbstractHandler::getDefaultFormatter
     */
    
public function testGetFormatterInitializesDefault()
    {
        
$handler $this->getMockForAbstractClass('MonologHandlerAbstractHandler');
        
$this->assertInstanceOf('MonologFormatterLineFormatter'$handler->getFormatter());
    }

    
/**
     * @covers MonologHandlerAbstractHandler::pushProcessor
     * @covers MonologHandlerAbstractHandler::popProcessor
     * @expectedException LogicException
     */
    
public function testPushPopProcessor()
    {
        
$logger $this->getMockForAbstractClass('MonologHandlerAbstractHandler');
        
$processor1 = new WebProcessor;
        
$processor2 = new WebProcessor;

        
$logger->pushProcessor($processor1);
        
$logger->pushProcessor($processor2);

        
$this->assertEquals($processor2$logger->popProcessor());
        
$this->assertEquals($processor1$logger->popProcessor());
        
$logger->popProcessor();
    }

    
/**
     * @covers MonologHandlerAbstractHandler::pushProcessor
     * @expectedException InvalidArgumentException
     */
    
public function testPushProcessorWithNonCallable()
    {
        
$handler $this->getMockForAbstractClass('MonologHandlerAbstractHandler');

        
$handler->pushProcessor(new stdClass());
    }
}
Онлайн: 1
Реклама