11
11
12
12
namespace Symfony \Component \HttpKernel \Tests \EventListener ;
13
13
14
- use Symfony \Component \DependencyInjection \ContainerBuilder ;
15
- use Symfony \Component \DependencyInjection \Definition ;
16
14
use Symfony \Component \HttpKernel \EventListener \DumpListener ;
17
15
use 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 ;
18
19
use Symfony \Component \VarDumper \VarDumper ;
19
20
20
21
/**
@@ -34,34 +35,23 @@ public function testSubscribedEvents()
34
35
35
36
public function testConfigure ()
36
37
{
37
- $ prevDumper = $ this ->getDumpHandler ();
38
+ $ prevDumper = VarDumper::setHandler ('var_dump ' );
39
+ VarDumper::setHandler ($ prevDumper );
38
40
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 ();
42
43
43
44
ob_start ();
44
45
$ exception = null ;
45
- $ listener = new DumpListener ($ container , ' mock_dumper ' );
46
+ $ listener = new DumpListener ($ cloner , $ dumper );
46
47
47
48
try {
48
49
$ listener ->configure ();
49
50
50
- $ lazyDumper = $ this ->getDumpHandler ();
51
51
VarDumper::dump ('foo ' );
52
-
53
- $ loadedDumper = $ this ->getDumpHandler ();
54
52
VarDumper::dump ('bar ' );
55
53
56
54
$ 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 ());
65
55
} catch (\Exception $ exception ) {
66
56
}
67
57
@@ -71,28 +61,22 @@ public function testConfigure()
71
61
throw $ exception ;
72
62
}
73
63
}
74
-
75
- private function getDumpHandler ()
76
- {
77
- $ prevDumper = VarDumper::setHandler ('var_dump ' );
78
- VarDumper::setHandler ($ prevDumper );
79
-
80
- return $ prevDumper ;
81
- }
82
64
}
83
65
84
- class MockCloner
66
+ class MockCloner implements ClonerInterface
85
67
{
86
68
public function cloneVar ($ var )
87
69
{
88
- return $ var .'- ' ;
70
+ return new Data ( array ( $ var .'- ' )) ;
89
71
}
90
72
}
91
73
92
- class MockDumper
74
+ class MockDumper implements DataDumperInterface
93
75
{
94
- public function dump ($ var )
76
+ public function dump (Data $ data )
95
77
{
96
- echo '+ ' .$ var ;
78
+ $ rawData = $ data ->getRawData ();
79
+
80
+ echo '+ ' .$ rawData [0 ];
97
81
}
98
82
}
0 commit comments