1616use Symfony \Bundle \WebProfilerBundle \EventListener \WebDebugToolbarListener ;
1717use Symfony \Component \DependencyInjection \ContainerBuilder ;
1818use Symfony \Component \DependencyInjection \Definition ;
19+ use Symfony \Component \DependencyInjection \Reference ;
1920use Symfony \Component \HttpFoundation \RequestStack ;
2021use Symfony \Component \HttpKernel \DataCollector \DumpDataCollector ;
2122
@@ -26,35 +27,51 @@ public function testProcessWithoutFileLinkFormatParameter()
2627 $ container = new ContainerBuilder ();
2728 $ container ->addCompilerPass (new DumpDataCollectorPass ());
2829
29- $ definition = new Definition (DumpDataCollector::class, [null , null , null , null ]);
30+ $ definition = new Definition (DumpDataCollector::class, [null , null , new Reference ( ' .virtual_request_stack ' ) , null ]);
3031 $ container ->setDefinition ('data_collector.dump ' , $ definition );
3132
3233 $ container ->compile ();
3334
3435 $ this ->assertNull ($ definition ->getArgument (1 ));
3536 }
3637
37- public function testProcessWithToolbarEnabled ()
38+ public function testProcessWithToolbarEnabledAndVirtualRequestStackPresent ()
3839 {
3940 $ container = new ContainerBuilder ();
41+ $ container ->register ('request_stack ' , RequestStack::class);
42+ $ container ->register ('.virtual_request_stack ' , RequestStack::class);
4043 $ container ->addCompilerPass (new DumpDataCollectorPass ());
41- $ requestStack = new RequestStack ();
4244
43- $ definition = new Definition (DumpDataCollector::class, [null , null , null , $ requestStack ]);
45+ $ definition = new Definition (DumpDataCollector::class, [null , null , null , new Reference ( ' .virtual_request_stack ' ) ]);
4446 $ container ->setDefinition ('data_collector.dump ' , $ definition );
4547 $ container ->setParameter ('web_profiler.debug_toolbar.mode ' , WebDebugToolbarListener::ENABLED );
4648
4749 $ container ->compile ();
4850
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 ));
5067 }
5168
5269 public function testProcessWithToolbarDisabled ()
5370 {
5471 $ container = new ContainerBuilder ();
5572 $ container ->addCompilerPass (new DumpDataCollectorPass ());
5673
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 ()]);
5875 $ container ->setDefinition ('data_collector.dump ' , $ definition );
5976 $ container ->setParameter ('web_profiler.debug_toolbar.mode ' , WebDebugToolbarListener::DISABLED );
6077
@@ -68,7 +85,7 @@ public function testProcessWithoutToolbar()
6885 $ container = new ContainerBuilder ();
6986 $ container ->addCompilerPass (new DumpDataCollectorPass ());
7087
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 ()]);
7289 $ container ->setDefinition ('data_collector.dump ' , $ definition );
7390
7491 $ container ->compile ();
0 commit comments