/** * @param mixed $installed * @param bool $isSetLocale * @dataProvider onKernelRequestDataProvider */ public function testOnKernelRequest($installed, $isSetLocale) { $customLanguage = 'ru'; $customLocale = 'fr'; $request = new Request(); $context = new RequestContext(); $request->setDefaultLocale($this->defaultLocale); if ($isSetLocale) { $this->localeSettings->expects($this->once())->method('getLanguage')->will($this->returnValue($customLanguage)); $this->localeSettings->expects($this->once())->method('getLocale')->will($this->returnValue($customLocale)); $this->router->expects($this->once())->method('getContext')->willReturn($context); } else { $this->localeSettings->expects($this->never())->method('getLanguage'); $this->localeSettings->expects($this->never())->method('getLocale'); } $this->container->expects($this->any())->method('getParameter')->with('installed')->willReturn($installed); $this->listener = new LocaleListener($this->container); $this->listener->onKernelRequest($this->createGetResponseEvent($request)); if ($isSetLocale) { $this->assertEquals($customLanguage, $request->getLocale()); $this->assertEquals($customLanguage, $context->getParameter('_locale')); $this->assertEquals($customLocale, \Locale::getDefault()); } else { $this->assertEquals($this->defaultLocale, $request->getLocale()); $this->assertEquals($this->defaultLocale, \Locale::getDefault()); } }
/** * @param mixed $installed * @param bool $isSetLocale * @dataProvider onKernelRequestDataProvider */ public function testOnKernelRequest($installed, $isSetLocale) { $customLanguage = 'ru'; $customLocale = 'fr'; $request = new Request(); $request->setDefaultLocale($this->defaultLocale); if ($isSetLocale) { $this->localeSettings->expects($this->exactly(2))->method('getLanguage')->will($this->returnValue($customLanguage)); $this->localeSettings->expects($this->once())->method('getLocale')->will($this->returnValue($customLocale)); } else { $this->localeSettings->expects($this->never())->method('getLanguage'); $this->localeSettings->expects($this->never())->method('getLocale'); } $this->listener = new LocaleListener($this->localeSettings, $this->transListener, $installed); $this->listener->onKernelRequest($this->createGetResponseEvent($request)); if ($isSetLocale) { $this->assertEquals($customLanguage, $request->getLocale()); $this->assertEquals($customLocale, \Locale::getDefault()); } else { $this->assertEquals($this->defaultLocale, $request->getLocale()); $this->assertEquals($this->defaultLocale, \Locale::getDefault()); } }