@@ -372,4 +372,41 @@ public function testHandleMWithultipleAttributesShouldBeHandledAsAnd()
372372
373373 $ listener (new RequestEvent ($ this ->createMock (HttpKernelInterface::class), $ request , HttpKernelInterface::MAIN_REQUEST ));
374374 }
375+
376+ public function testLazyPublicPagesShouldNotAccessTokenStorage ()
377+ {
378+ $ tokenStorage = $ this ->createMock (TokenStorageInterface::class);
379+ $ tokenStorage ->expects ($ this ->never ())->method ('getToken ' );
380+
381+ $ request = new Request ();
382+ $ accessMap = $ this ->createMock (AccessMapInterface::class);
383+ $ accessMap ->expects ($ this ->any ())
384+ ->method ('getPatterns ' )
385+ ->with ($ this ->equalTo ($ request ))
386+ ->willReturn ([[AuthenticatedVoter::PUBLIC_ACCESS ], null ])
387+ ;
388+
389+ $ listener = new AccessListener ($ tokenStorage , $ this ->createMock (AccessDecisionManagerInterface::class), $ accessMap , $ this ->createMock (AuthenticationManagerInterface::class), false );
390+ $ listener (new LazyResponseEvent (new RequestEvent ($ this ->createMock (HttpKernelInterface::class), $ request , HttpKernelInterface::MAIN_REQUEST )));
391+ }
392+
393+ /**
394+ * @group legacy
395+ */
396+ public function testLegacyLazyPublicPagesShouldNotAccessTokenStorage ()
397+ {
398+ $ tokenStorage = $ this ->createMock (TokenStorageInterface::class);
399+ $ tokenStorage ->expects ($ this ->never ())->method ('getToken ' );
400+
401+ $ request = new Request ();
402+ $ accessMap = $ this ->createMock (AccessMapInterface::class);
403+ $ accessMap ->expects ($ this ->any ())
404+ ->method ('getPatterns ' )
405+ ->with ($ this ->equalTo ($ request ))
406+ ->willReturn ([[AuthenticatedVoter::IS_AUTHENTICATED_ANONYMOUSLY ], null ])
407+ ;
408+
409+ $ listener = new AccessListener ($ tokenStorage , $ this ->createMock (AccessDecisionManagerInterface::class), $ accessMap , $ this ->createMock (AuthenticationManagerInterface::class), false );
410+ $ listener (new LazyResponseEvent (new RequestEvent ($ this ->createMock (HttpKernelInterface::class), $ request , HttpKernelInterface::MAIN_REQUEST )));
411+ }
375412}
0 commit comments