function RulesI18nTestCase::addLanguage

Copied from i18n module (class Drupali18nTestCase).

We cannot extend from Drupali18nTestCase as else the test-bot would die.

1 call to RulesI18nTestCase::addLanguage()
RulesI18nTestCase::setUp in rules_i18n/rules_i18n.test
Overrides DrupalWebTestCase::setUp().

File

rules_i18n/rules_i18n.test, line 48

Class

RulesI18nTestCase
Test the i18n integration.

Code

public function addLanguage($language_code) {
    // Check to make sure that language has not already been installed.
    $this->drupalGet('admin/config/regional/language');
    if (strpos($this->drupalGetContent(), 'enabled[' . $language_code . ']') === FALSE) {
        // Doesn't have language installed so add it.
        $edit = array();
        $edit['langcode'] = $language_code;
        $this->drupalPost('admin/config/regional/language/add', $edit, t('Add language'));
        // Make sure we are not using a stale list.
        drupal_static_reset('language_list');
        $languages = language_list('language');
        $this->assertTrue(array_key_exists($language_code, $languages), t('Language was installed successfully.'));
        if (array_key_exists($language_code, $languages)) {
            $this->assertRaw(t('The language %language has been created and can now be used. More information is available on the <a href="@locale-help">help screen</a>.', array(
                '%language' => $languages[$language_code]->name,
                '@locale-help' => url('admin/help/locale'),
            )), t('Language has been created.'));
        }
    }
    elseif ($this->xpath('//input[@type="checkbox" and @name=:name and @checked="checked"]', array(
        ':name' => 'enabled[' . $language_code . ']',
    ))) {
        // It's installed and enabled. No need to do anything.
        $this->assertTrue(TRUE, 'Language [' . $language_code . '] already installed and enabled.');
    }
    else {
        // It's installed but not enabled. Enable it.
        $this->assertTrue(TRUE, 'Language [' . $language_code . '] already installed.');
        $this->drupalPost(NULL, array(
            'enabled[' . $language_code . ']' => TRUE,
        ), t('Save configuration'));
        $this->assertRaw(t('Configuration saved.'), t('Language successfully enabled.'));
    }
}