Файл: 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];
}
}