function EntityTranslationTest::setUp

Sets up Drupal unit test environment.

Overrides EntityUnitTestBase::setUp

See also

DrupalUnitTestBase::$modules

DrupalUnitTestBase

File

drupal/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php, line 31
Definition of Drupal\system\Tests\Entity\EntityTranslationTest.

Class

EntityTranslationTest
Tests entity translation.

Namespace

Drupal\system\Tests\Entity

Code

function setUp() {
  parent::setUp();
  $this
    ->installSchema('system', 'variable');
  $this
    ->installSchema('language', 'language');
  $this
    ->installSchema('entity_test', array(
    'entity_test_mul',
    'entity_test_mul_property_data',
    'entity_test_rev',
    'entity_test_rev_revision',
    'entity_test_mulrev',
    'entity_test_mulrev_property_data',
    'entity_test_mulrev_property_revision',
  ));

  // Create the test field.
  entity_test_install();

  // Enable translations for the test entity type.
  \Drupal::state()
    ->set('entity_test.translation', TRUE);

  // Create a translatable test field.
  $this->field_name = drupal_strtolower($this
    ->randomName() . '_field_name');
  $field = array(
    'field_name' => $this->field_name,
    'type' => 'text',
    'cardinality' => 4,
    'translatable' => TRUE,
  );
  field_create_field($field);
  $this->field = field_read_field($this->field_name);

  // Create instance in all entity variations.
  foreach (entity_test_entity_types() as $entity_type) {
    $instance = array(
      'field_name' => $this->field_name,
      'entity_type' => $entity_type,
      'bundle' => $entity_type,
    );
    field_create_instance($instance);
    $this->instance[$entity_type] = field_read_instance($entity_type, $this->field_name, $entity_type);
  }

  // Create the default languages.
  $default_language = language_save(language_default());
  $languages = language_default_locked_languages($default_language->weight);
  foreach ($languages as $language) {
    language_save($language);
  }

  // Create test languages.
  $this->langcodes = array();
  for ($i = 0; $i < 3; ++$i) {
    $language = new Language(array(
      'langcode' => 'l' . $i,
      'name' => $this
        ->randomString(),
    ));
    $this->langcodes[$i] = $language->langcode;
    language_save($language);
  }
}