Newer
Older
<?php
/**
* @file
* Definition of Drupal\language\Tests\LanguageDependencyInjectionTest.
*/
namespace Drupal\language\Tests;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\Language\Language;
use Drupal\simpletest\WebTestBase;
/**
* Test for dependency injected language object.
*/
class LanguageDependencyInjectionTest extends WebTestBase {
/**
* Modules to enable.
*
* @var array
*/
public static $modules = array('language');
public static function getInfo() {
return array(
'name' => 'Language dependency injection',
'description' => 'Compares the default language from $GLOBALS against the dependency injected language object.',
'group' => 'Language',
);
}
function setUp() {
parent::setUp();
Katherine Bailey
committed
// Ensure we are building a new Language object for each test.
Dries Buytaert
committed
language(NULL, TRUE);
}
/**
* Test dependency injected languages against a new Language object.
*
* @see Drupal\Core\Language\Language
*/
function testDependencyInjectedNewLanguage() {
// Initialize the language system.
drupal_language_initialize();
Dries Buytaert
committed
$expected = language_default();
Dries Buytaert
committed
$result = language(LANGUAGE_TYPE_INTERFACE);
foreach ($expected as $property => $value) {
Jennifer Hodgdon
committed
$this->assertEqual($expected->$property, $result->$property, format_string('The dependency injected language object %prop property equals the new Language object %prop property.', array('%prop' => $property)));
}
}
/**
* Test dependency injected Language object against a new default language
* object.
*
* @see Drupal\Core\Language\Language
*/
function testDependencyInjectedNewDefaultLanguage() {
// Change the language default object to different values.
Dries Buytaert
committed
$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();
Angie Byron
committed
// The language system creates a Language object which contains the
// same properties as the new default language object.
Dries Buytaert
committed
$expected = new Language($new_language_default);
Dries Buytaert
committed
$result = language(LANGUAGE_TYPE_INTERFACE);
foreach ($expected as $property => $value) {
Jennifer Hodgdon
committed
$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)));