public function testOnKernelRequest_WithoutPreviousSession() { $session = $this->getMockBuilder('\\Symfony\\Component\\HttpFoundation\\Session\\SessionInterface')->disableOriginalConstructor()->getMock(); // $session->expects($this->never()) // ->method('get') // ->with('_locale') // ->will($this->returnValue('xy')); $server = $this->getMock('\\Symfony\\Component\\HttpFoundation\\ServerBag'); $server->expects($this->exactly(2))->method('get')->with('HTTP_ACCEPT_LANGUAGE')->will($this->returnValue('de-DE,de;q=0.8,jp')); $request = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Request')->getMock(); $parameterBag = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\ParameterBag')->disableOriginalConstructor()->getMock(); $request->attributes = $parameterBag; $request->server = $server; $request->cookies = $parameterBag; $request->expects($this->never())->method('setDefaultLocale'); $request->expects($this->once())->method('getLocale'); $event = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\Event\\GetResponseEvent')->disableOriginalConstructor()->getMock(); $event->expects($this->once())->method('getRequest')->will($this->returnValue($request)); $accessMapStub = $this->getMock('\\Symfony\\Component\\Security\\Http\\AccessMap'); $accessMapStub->expects($this->once())->method('getPatterns')->will($this->returnValue(array(array('no valid data')))); // request context $context = $this->getMockBuilder('Symfony\\Component\\Routing\\RequestContext')->disableOriginalConstructor()->getMock(); $context->expects($this->once())->method('setParameter')->with('_locale'); // router $router = $this->getMockBuilder('Symfony\\Component\\Routing\\Router')->disableOriginalConstructor()->getMock(); $router->expects($this->once())->method('getContext')->will($this->returnValue($context)); $listener = new LocaleListener($accessMapStub, array(array('locale' => 'de')), 'en', $router); $listener->onKernelRequest($event); }