function LanguageDependencyInjectionTest::testDependencyInjectedNewDefaultLanguage

Test dependency injected Language object against a new default language object.

See also

Drupal\Core\Language\Language

File

drupal/core/modules/language/lib/Drupal/language/Tests/LanguageDependencyInjectionTest.php, line 64
Definition of Drupal\language\Tests\LanguageDependencyInjectionTest.

Class

LanguageDependencyInjectionTest
Test for dependency injected language object.

Namespace

Drupal\language\Tests

Code

function testDependencyInjectedNewDefaultLanguage() {

  // Change the language default object to different values.
  $new_language_default = array(
    'langcode' => 'fr',
    'name' => 'French',
    'direction' => 0,
    'weight' => 0,
    'method_id' => 'language-default',
    'default' => TRUE,
  );
  variable_set('language_default', $new_language_default);

  // Initialize the language system.
  drupal_language_initialize();

  // The language system creates a Language object which contains the
  // same properties as the new default language object.
  $expected = new Language($new_language_default);
  $result = language(LANGUAGE_TYPE_INTERFACE);
  foreach ($expected as $property => $value) {
    $this
      ->assertEqual($expected->{$property}, $result->{$property}, format_string('The dependency injected language object %prop property equals the default language object %prop property.', array(
      '%prop' => $property,
    )));
  }

  // Delete the language_default variable we previously set.
  variable_del('language_default');
}