@@ -45,6 +45,26 @@ public function testStopwatchSections()
45
45
], array_keys ($ events ));
46
46
}
47
47
48
+ public function testStopwatchSectionsWithProfilerToken ()
49
+ {
50
+ $ dispatcher = new TraceableEventDispatcher (new EventDispatcher (), $ stopwatch = new Stopwatch ());
51
+ $ kernel = $ this ->getHttpKernel ($ dispatcher , new Response ('' , 200 , ['X-Debug-Token ' => '292e1e ' ]));
52
+ $ request = Request::create ('/ ' );
53
+ $ response = $ kernel ->handle ($ request );
54
+ $ kernel ->terminate ($ request , $ response );
55
+
56
+ $ events = $ stopwatch ->getSectionEvents ($ response ->headers ->get ('X-Debug-Token ' ));
57
+ $ this ->assertEquals ([
58
+ '__section__ ' ,
59
+ 'kernel.request ' ,
60
+ 'kernel.controller ' ,
61
+ 'kernel.controller_arguments ' ,
62
+ 'controller ' ,
63
+ 'kernel.response ' ,
64
+ 'kernel.terminate ' ,
65
+ ], array_keys ($ events ));
66
+ }
67
+
48
68
public function testStopwatchCheckControllerOnRequestEvent ()
49
69
{
50
70
$ stopwatch = $ this ->getMockBuilder (Stopwatch::class)
@@ -110,11 +130,11 @@ public function testListenerCanRemoveItselfWhenExecuted()
110
130
$ this ->assertCount (1 , $ eventDispatcher ->getListeners ('foo ' ), 'expected listener1 to be removed ' );
111
131
}
112
132
113
- protected function getHttpKernel ($ dispatcher )
133
+ protected function getHttpKernel ($ dispatcher, Response $ response = null )
114
134
{
115
135
$ controllerResolver = $ this ->createMock (ControllerResolverInterface::class);
116
- $ controllerResolver ->expects ($ this ->once ())->method ('getController ' )->willReturn (function () {
117
- return new Response ();
136
+ $ controllerResolver ->expects ($ this ->once ())->method ('getController ' )->willReturn (function () use ( $ response ) {
137
+ return $ response ?? new Response ();
118
138
});
119
139
$ argumentResolver = $ this ->createMock (ArgumentResolverInterface::class);
120
140
$ argumentResolver ->expects ($ this ->once ())->method ('getArguments ' )->willReturn ([]);
0 commit comments