@@ -120,6 +120,32 @@ public function testResponseIsStillPublicIfSessionStartedAndHeaderPresent()
120120 $ this ->assertFalse ($ response ->headers ->has (AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER ));
121121 }
122122
123+ public function testSessionSaveAndResponseHasSessionCookie ()
124+ {
125+ $ session = $ this ->getMockBuilder (Session::class)->disableOriginalConstructor ()->getMock ();
126+ $ session ->expects ($ this ->exactly (2 ))->method ('getUsageIndex ' )->will ($ this ->onConsecutiveCalls (0 , 1 ));
127+ $ session ->expects ($ this ->exactly (1 ))->method ('getId ' )->willReturn ('123456 ' );
128+ $ session ->expects ($ this ->exactly (1 ))->method ('getName ' )->willReturn ('PHPSESSID ' );
129+ $ session ->expects ($ this ->exactly (1 ))->method ('save ' );
130+ $ session ->expects ($ this ->exactly (1 ))->method ('isStarted ' )->willReturn (true );
131+
132+ $ container = new Container ();
133+ $ container ->set ('initialized_session ' , <
8000
span class=pl-c1>$ session);
134+
135+ $ listener = new SessionListener ($ container );
136+ $ kernel = $ this ->getMockBuilder (HttpKernelInterface::class)->disableOriginalConstructor ()->getMock ();
137+
138+ $ request = new Request ();
139+ $ listener ->onKernelRequest (new RequestEvent ($ kernel , $ request , HttpKernelInterface::MASTER_REQUEST ));
140+
141+ $ response = new Response ();
142+ $ listener ->onKernelResponse (new ResponseEvent ($ kernel , new Request (), HttpKernelInterface::MASTER_REQUEST , $ response ));
143+
144+ $ cookies = $ response ->headers ->getCookies ();
145+ $ this ->assertSame ('PHPSESSID ' , $ cookies [0 ]->getName ());
146+ $ this ->assertSame ('123456 ' , $ cookies [0 ]->getValue ());
147+ }
148+
123149 public function testUninitializedSession ()
124150 {
125151 $ kernel = $ this ->createMock (HttpKernelInterface::class);
0 commit comments