/**
  * Test for the number of maximum language that can be created.
  *
  * @see \eZ\Publish\API\Repository\LanguageService::createLanguage()
  *
  * @depends eZ\Publish\API\Repository\Tests\LanguageServiceTest::testNewLanguageCreateStruct
  *
  * @expectedException \RuntimeException
  * @expectedExceptionMessage Maximum number of languages reached!
  */
 public function testCreateMaximumLanguageLimit()
 {
     $languageCreate = $this->languageService->newLanguageCreateStruct();
     $languageCreate->enabled = true;
     $languageCreate->name = "Bad Language";
     $languageCreate->languageCode = "lan-ER";
     $this->languageService->createLanguage($languageCreate);
 }
 /**
  * @inheritdoc
  */
 public function visit(TreeNodeInterface $node, &$data)
 {
     $languages = $this->languageService->loadLanguages();
     $existingLanguageCodes = [];
     foreach ($languages as $language) {
         $existingLanguageCodes[] = $language->languageCode;
     }
     // If language already exists, skip it
     if (in_array($data['language_code'], $existingLanguageCodes)) {
         return;
     }
     $struct = $this->languageService->newLanguageCreateStruct();
     $this->fillValueObject($struct, $data);
     $this->languageService->createLanguage($struct);
 }
 /**
  * Instantiates an object to be used for creating languages
  *
  * @return \eZ\Publish\API\Repository\Values\Content\LanguageCreateStruct
  */
 public function newLanguageCreateStruct()
 {
     return $this->service->newLanguageCreateStruct();
 }