public function tearDown()
 {
     while (($language = array_pop($this->createdLanguages)) !== null) {
         $this->languageService->deleteLanguage($language);
     }
     parent::tearDown();
 }
 /**
  * Deletes a language.
  *
  * @param mixed $languageId
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function deleteAction(Request $request, $languageId, $redirectErrorsTo = 'list')
 {
     $language = $this->languageService->loadLanguageById($languageId);
     $deleteForm = $this->createForm(new LanguageDeleteType($this->languageService), ['languageId' => $languageId]);
     $deleteForm->handleRequest($request);
     if ($deleteForm->isValid()) {
         $this->languageService->deleteLanguage($language);
         $this->notify('language.deleted', ['%languageName%' => $language->name], 'language');
         return $this->redirectToRouteAfterFormPost('admin_languagelist');
     }
     // Form validation failed. Send errors as notifications.
     foreach ($deleteForm->getErrors(true) as $error) {
         $this->notifyErrorPlural($error->getMessageTemplate(), $error->getMessagePluralization(), $error->getMessageParameters(), 'ezrepoforms_language');
     }
     return $this->redirectToRouteAfterFormPost("admin_language{$redirectErrorsTo}", ['languageId' => $languageId]);
 }
 /**
  * Deletes  a language from content repository
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException
  *         if language can not be deleted
  *         because it is still assigned to some content / type / (...).
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException If user is not allowed to delete a language
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Language $language
  */
 public function deleteLanguage(Language $language)
 {
     $returnValue = $this->service->deleteLanguage($language);
     $this->signalDispatcher->emit(new DeleteLanguageSignal(array('languageId' => $language->id)));
     return $returnValue;
 }