16
16
use Symfony \Bundle \WebProfilerBundle \EventListener \WebDebugToolbarListener ;
17
17
use Symfony \Component \DependencyInjection \ContainerBuilder ;
18
18
use Symfony \Component \DependencyInjection \Definition ;
19
+ use Symfony \Component \DependencyInjection \Reference ;
19
20
use Symfony \Component \HttpFoundation \RequestStack ;
20
21
use Symfony \Component \HttpKernel \DataCollector \DumpDataCollector ;
21
22
@@ -26,35 +27,51 @@ public function testProcessWithoutFileLinkFormatParameter()
26
27
$ container = new ContainerBuilder ();
27
28
$ container ->addCompilerPass (new DumpDataCollectorPass ());
28
29
29
- $ definition = new Definition (DumpDataCollector::class, [null , null , null , null ]);
30
+ $ definition = new Definition (DumpDataCollector::class, [null , null , new Reference ( ' .virtual_request_stack ' ) , null ]);
30
31
$ container ->setDefinition ('data_collector.dump ' , $ definition );
31
32
32
33
$ container ->compile ();
33
34
34
35
$ this ->assertNull ($ definition ->getArgument (1 ));
35
36
}
36
37
37
- public function testProcessWithToolbarEnabled ()
38
+ public function testProcessWithToolbarEnabledAndVirtualRequestStackPresent ()
38
39
{
39
40
$ container = new ContainerBuilder ();
41
+ $ container ->register ('request_stack ' , RequestStack::class);
42
+ $ container ->register ('.virtual_request_stack ' , RequestStack::class);
40
43
$ container ->addCompilerPass (new DumpDataCollectorPass ());
41
- $ requestStack = new RequestStack ();
42
44
43
- $ definition = new Definition (DumpDataCollector::class, [null , null , null , $ requestStack ]);
45
+ $ definition = new Definition (DumpDataCollector::class, [null , null , null , new Reference ( ' .virtual_request_stack ' ) ]);
44
46
$ container ->setDefinition ('data_collector.dump ' , $ definition );
45
47
$ container ->setParameter ('web_profiler.debug_toolbar.mode ' , WebDebugToolbarListener::ENABLED );
46
48
47
49
$ container ->compile ();
48
50
49
- $ this ->assertSame ($ requestStack , $ definition ->getArgument (3 ));
51
+ $ this ->assertEquals (new Reference ('.virtual_request_stack ' ), $ definition ->getArgument (3 ));
52
+ }
53
+
54
+ public function testProcessWithToolbarEnabledAndVirtualRequestStackNotPresent ()
55
+ {
56
+ $ container = new ContainerBuilder ();
57
+ $ container ->register ('request_stack ' , RequestStack::class);
58
+ $ container ->addCompilerPass (new DumpDataCollectorPass ());
59
+
60
+ $ definition = new Definition (DumpDataCollector::class, [null , null , null , new Reference ('.virtual_request_stack ' )]);
61
+ $ container ->setDefinition ('data_collector.dump ' , $ definition );
62
+ $ container ->setParameter ('web_profiler.debug_toolbar.mode ' , WebDebugToolbarListener::ENABLED );
63
+
64
+ $ container ->compile ();
65
+
66
+ $ this ->assertEquals (new Reference ('request_stack ' ), $ definition ->getArgument (3 ));
50
67
}
51
68
52
69
public function testProcessWithToolbarDisabled ()
53
70
{
54
71
$ container = new ContainerBuilder ();
55
72
$ container ->addCompilerPass (new DumpDataCollectorPass ());
56
73
57
- $ definition = new Definition (DumpDataCollector::class, [null , null , null , new RequestStack ()]);
74
+ $ definition = new Definition (DumpDataCollector::class, [null , null , new Reference ( ' .virtual_request_stack ' ) , new RequestStack ()]);
58
75
$ container ->setDefinition ('data_collector.dump ' , $ definition );
59
76
$ container ->setParameter ('web_profiler.debug_toolbar.mode ' , WebDebugToolbarListener::DISABLED );
60
77
@@ -68,7 +85,7 @@ public function testProcessWithoutToolbar()
68
85
$ container = new ContainerBuilder ();
69
86
$ container ->addCompilerPass (new DumpDataCollectorPass ());
70
87
71
- $ definition = new Definition (DumpDataCollector::class, [null , null , null , new RequestStack ()]);
88
+ $ definition = new Definition (DumpDataCollector::class, [null , null , new Reference ( ' .virtual_request_stack ' ) , new RequestStack ()]);
72
89
$ container ->setDefinition ('data_collector.dump ' , $ definition );
73
90
74
91
$ container ->compile ();
0 commit comments