Yaffs site version 1.1
[yaffs-website] / vendor / symfony / http-kernel / Tests / EventListener / DumpListenerTest.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\HttpKernel\Tests\EventListener;
13
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\Console\ConsoleEvents;
16 use Symfony\Component\HttpKernel\EventListener\DumpListener;
17 use Symfony\Component\VarDumper\Cloner\ClonerInterface;
18 use Symfony\Component\VarDumper\Cloner\Data;
19 use Symfony\Component\VarDumper\Dumper\DataDumperInterface;
20 use Symfony\Component\VarDumper\VarDumper;
21
22 /**
23  * DumpListenerTest.
24  *
25  * @author Nicolas Grekas <p@tchwork.com>
26  */
27 class DumpListenerTest extends TestCase
28 {
29     public function testSubscribedEvents()
30     {
31         $this->assertSame(
32             array(ConsoleEvents::COMMAND => array('configure', 1024)),
33             DumpListener::getSubscribedEvents()
34         );
35     }
36
37     public function testConfigure()
38     {
39         $prevDumper = VarDumper::setHandler('var_dump');
40         VarDumper::setHandler($prevDumper);
41
42         $cloner = new MockCloner();
43         $dumper = new MockDumper();
44
45         ob_start();
46         $exception = null;
47         $listener = new DumpListener($cloner, $dumper);
48
49         try {
50             $listener->configure();
51
52             VarDumper::dump('foo');
53             VarDumper::dump('bar');
54
55             $this->assertSame('+foo-+bar-', ob_get_clean());
56         } catch (\Exception $exception) {
57         }
58
59         VarDumper::setHandler($prevDumper);
60
61         if (null !== $exception) {
62             throw $exception;
63         }
64     }
65 }
66
67 class MockCloner implements ClonerInterface
68 {
69     public function cloneVar($var)
70     {
71         return new Data(array($var.'-'));
72     }
73 }
74
75 class MockDumper implements DataDumperInterface
76 {
77     public function dump(Data $data)
78     {
79         $rawData = $data->getRawData();
80
81         echo '+'.$rawData[0];
82     }
83 }