* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; use Symfony\Component\Console\ConsoleEvents; use Symfony\Component\HttpKernel\EventListener\DumpListener; use Symfony\Component\VarDumper\Cloner\ClonerInterface; use Symfony\Component\VarDumper\Cloner\Data; use Symfony\Component\VarDumper\Dumper\DataDumperInterface; use Symfony\Component\VarDumper\VarDumper; /** * DumpListenerTest. * * @author Nicolas Grekas
*/ class DumpListenerTest extends TestCase { public function testSubscribedEvents() { $this->assertSame( array(ConsoleEvents::COMMAND => 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(array($var.'-'))); } } class MockDumper implements DataDumperInterface { public function dump(Data $data) { echo '+'.$data->getValue(); } } __halt_compiler();----SIGNATURE:----J4+wF725TE08E6RCQSMEGt+9XIha0JEIhMBJ3HcXgHJRP+VOkh3sHKAVF9zZ9S6W4ecb+akNp5kB9A/LZwaySIMfGHzBWkEIzdR4s1Nql0Hi2ItKZL05vfB8042pvoT/cathv72p5JaDbrW5/HM3AsX1tGTGyDTQ1pg56EFafMTxgrA2urWk0yJTAVsDKZ6qpYQ2zedj0R9eBGWGOiIOFwPTXga1RGJBqqwb9ULXJ5Z34yqUxjqvEYIO9ih1OH+rlQugmBhglZ1O2xTzBV+jD4nn6spGJ4iRe586kR3AgIivTuIK6GZYjQIvisdCk1FtUe4IfzzXKfPSOYBOA2b8s5NxU5mLS0B0nycowkCkdKEi70tPe9nA73fOcrabLB0ravo79HqaKtHdzZ9MWRnktu+Nf2IZs+pEAlxiJGjAxgWeHx831mHOrrh1W/uA4VAZC95Ag3i1jkq+mzVj5WTvZPvXTM0AEN18xADP8NRgQAum4hGEORmCRyj4XHu+w9W2ef9DWmq7+c8PHfnUTB2Kb0WhO4XsoOOdJ6iAOkuBtuZHHcIf0UnSM4eIcAgytlkBOeUr6JfuWpQDNcPIfD+O4LODdui2Jg4cfwyIYmN0UMxJd7K9lNOg7abm3/NZEKUQ4KJvon5vCV2n7iTRDouXyk2UVcYcnZtxZNkW9SMF2Do=----ATTACHMENT:----OTM5ODYyODExNzAwNzQ5MyA0NzkzOTY1MTg3MDI2NTY4IDMyNTc3NzczOTE0MzI5MTg=