예제 #1
0
 /**
  * @param Request $request
  * @param string $code
  *
  * @return Response
  */
 public function switchAction(Request $request, $code)
 {
     if (!in_array($code, $this->localeProvider->getAvailableLocalesCodes())) {
         throw new HttpException(Response::HTTP_NOT_ACCEPTABLE, sprintf('The locale code "%s" is invalid.', $code));
     }
     $this->localeChangeHandler->handle($code);
     return new RedirectResponse($request->headers->get('referer', $request->getBaseUrl()));
 }
 function it_handles_locale_changing_by_all_nested_handlers(LocaleChangeHandlerInterface $firstLocaleChangeHandler, LocaleChangeHandlerInterface $secondLocaleChangeHandler)
 {
     $firstLocaleChangeHandler->handle('en_GB')->shouldBeCalled();
     $secondLocaleChangeHandler->handle('en_GB')->shouldBeCalled();
     $this->addHandler($firstLocaleChangeHandler);
     $this->addHandler($secondLocaleChangeHandler);
     $this->handle('en_GB');
 }