1111
1212namespace Symfony \Component \HttpKernel \Tests \EventListener ;
1313
14- use Symfony \Component \DependencyInjection \ContainerBuilder ;
15- use Symfony \Component \DependencyInjection \Definition ;
1614use Symfony \Component \HttpKernel \EventListener \DumpListener ;
1715use Symfony \Component \HttpKernel \KernelEvents ;
16+ use Symfony \Component \VarDumper \Cloner \ClonerInterface ;
17+ use Symfony \Component \VarDumper \Cloner \Data ;
18+ use Symfony \Component \VarDumper \Dumper \DataDumperInterface ;
1819use Symfony \Component \VarDumper \VarDumper ;
1920
2021/**
@@ -34,34 +35,23 @@ public function testSubscribedEvents()
3435
3536 public function testConfigure ()
3637 {
37- $ prevDumper = $ this ->getDumpHandler ();
38+ $ prevDumper = VarDumper::setHandler ('var_dump ' );
39+ VarDumper::setHandler ($ prevDumper );
3840
39- $ container = new ContainerBuilder ();
40- $ container ->setDefinition ('var_dumper.cloner ' , new Definition ('Symfony\Component\HttpKernel\Tests\EventListener\MockCloner ' ));
41- $ container ->setDefinition ('mock_dumper ' , new Definition ('Symfony\Component\HttpKernel\Tests\EventListener\MockDumper ' ));
41+ $ cloner = new MockCloner ();
42+ $ dumper = new MockDumper ();
4243
4344 ob_start ();
4445 $ exception = null ;
45- $ listener = new DumpListener ($ container , ' mock_dumper ' );
46+ $ listener = new DumpListener ($ cloner , $ dumper );
4647
4748 try {
4849 $ listener ->configure ();
4950
50- $ lazyDumper = $ this ->getDumpHandler ();
5151 VarDumper::dump ('foo ' );
52-
53- $ loadedDumper = $ this ->getDumpHandler ();
5452 VarDumper::dump ('bar ' );
5553
5654 $ this ->assertSame ('+foo-+bar- ' , ob_get_clean ());
57-
58- $ listenerReflector = new \ReflectionClass ($ listener );
59- $ lazyReflector = new \ReflectionFunction ($ lazyDumper );
60- $ loadedReflector = new \ReflectionFunction ($ loadedDumper );
61-
62- $ this ->assertSame ($ listenerReflector ->getFilename (), $ lazyReflector ->getFilename ());
63- $ this ->assertSame ($ listenerReflector ->getFilename (), $ loadedReflector ->getFilename ());
64- $ this ->assertGreaterThan ($ lazyReflector ->getStartLine (), $ loadedReflector ->getStartLine ());
6555 } catch (\Exception $ exception ) {
6656 }
6757
@@ -71,28 +61,22 @@ public function testConfigure()
7161 throw $ exception ;
7262 }
7363 }
74-
75- private function getDumpHandler ()
76- {
77- $ prevDumper = VarDumper::setHandler ('var_dump ' );
78- VarDumper::setHandler ($ prevDumper );
79-
80- return $ prevDumper ;
81- }
8264}
8365
84- class MockCloner
66+ class MockCloner implements ClonerInterface
8567{
8668 public function cloneVar ($ var )
8769 {
88- return $ var .'- ' ;
70+ return new Data ( array ( $ var .'- ' )) ;
8971 }
9072}
9173
92- class MockDumper
74+ class MockDumper implements DataDumperInterface
9375{
94- public function dump ($ var )
76+ public function dump (Data $ data )
9577 {
96- echo '+ ' .$ var ;
78+ $ rawData = $ data ->getRawData ();
79+
80+ echo '+ ' .$ rawData [0 ];
9781 }
9882}
0 commit comments