@@ -120,6 +120,32 @@ public function testResponseIsStillPublicIfSessionStartedAndHeaderPresent()
120
120
$ this ->assertFalse ($ response ->headers ->has (AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER ));
121
121
}
122
122
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 ' , $ 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
+
123
149
public function testUninitializedSession ()
124
150
{
125
151
$ kernel = $ this ->createMock (HttpKernelInterface::class);
0 commit comments