Вход Регистрация
Файл: gapps/vendor/symfony/http-kernel/Tests/EventListener/DumpListenerTest.php
Строк: 96
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentHttpKernelTestsEventListener;

use 
SymfonyComponentHttpKernelEventListenerDumpListener;
use 
SymfonyComponentHttpKernelKernelEvents;
use 
SymfonyComponentVarDumperClonerClonerInterface;
use 
SymfonyComponentVarDumperClonerData;
use 
SymfonyComponentVarDumperDumperDataDumperInterface;
use 
SymfonyComponentVarDumperVarDumper;

/**
 * DumpListenerTest.
 *
 * @author Nicolas Grekas <p@tchwork.com>
 */
class DumpListenerTest extends PHPUnit_Framework_TestCase
{
    public function 
testSubscribedEvents()
    {
        
$this->assertSame(
            array(
KernelEvents::REQUEST => array('configure'1024)),
            
DumpListener::getSubscribedEvents()
        );
    }

    public function 
testConfigure()
    {
        
$prevDumper VarDumper::setHandler('var_dump');
        
VarDumper::setHandler($prevDumper);

        
$cloner = new MockCloner();
        
$dumper = new MockDumper();

        
ob_start();
        
$exception null;
        
$listener = new DumpListener($cloner$dumper);

        try {
            
$listener->configure();

            
VarDumper::dump('foo');
            
VarDumper::dump('bar');

            
$this->assertSame('+foo-+bar-'ob_get_clean());
        } catch (
Exception $exception) {
        }

        
VarDumper::setHandler($prevDumper);

        if (
null !== $exception) {
            throw 
$exception;
        }
    }
}

class 
MockCloner implements ClonerInterface
{
    public function 
cloneVar($var)
    {
        return new 
Data(array($var.'-'));
    }
}

class 
MockDumper implements DataDumperInterface
{
    public function 
dump(Data $data)
    {
        
$rawData $data->getRawData();

        echo 
'+'.$rawData[0];
    }
}
Онлайн: 4
Реклама