/**
  * Test update function
  *
  * @covers eZ\Publish\Core\Persistence\InMemory\LanguageHandler::update
  */
 public function testUpdate()
 {
     $language = $this->handler->load(2);
     $language->languageCode = 'Changed';
     $language->name = 'Changed';
     $language->isEnabled = false;
     $this->handler->update($language);
     $language = $this->handler->load(2);
     $this->assertEquals(2, $language->id);
     $this->assertEquals('Changed', $language->name);
     $this->assertEquals('Changed', $language->languageCode);
     $this->assertFalse($language->isEnabled);
 }
 /**
  * Disables a language
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException If user does not have access to content translations
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Language $language
  *
  * @return \eZ\Publish\API\Repository\Values\Content\Language
  */
 public function disableLanguage(Language $language)
 {
     if ($this->repository->hasAccess('content', 'translations') !== true) {
         throw new UnauthorizedException('content', 'translations');
     }
     $loadedLanguage = $this->loadLanguageById($language->id);
     $updateLanguageStruct = new SPILanguage(array('id' => $loadedLanguage->id, 'languageCode' => $loadedLanguage->languageCode, 'name' => $loadedLanguage->name, 'isEnabled' => false));
     $this->repository->beginTransaction();
     try {
         $this->languageHandler->update($updateLanguageStruct);
         $this->repository->commit();
     } catch (Exception $e) {
         $this->repository->rollback();
         throw $e;
     }
     return $this->loadLanguageById($loadedLanguage->id);
 }