File
- core/modules/search/tests/search.test, line 1972
- Tests for search.module.
Class
- SearchLanguageTestCase
- Test node search with multiple languages.
Code
function testLanguages() {
$this->backdropGet('search/node');
$this->assertNoText(t('Languages'), 'No languages to choose from.');
$edit = array('predefined_langcode' => 'fr');
$this->backdropPost('admin/config/regional/language/add', $edit, t('Add language'));
$this->assertText('French', 'Language added successfully.');
$this->backdropGet('search/node');
$this->assertText(t('Languages'), 'Languages displayed to choose from.');
$this->assertText(t('English'), 'English is a possible choice.');
$this->assertText(t('French'), 'French is a possible choice.');
$this->backdropPost('search/node', array(), t('Advanced search'));
$this->assertEqual($this->getUrl(), url('search/node/', array('absolute' => TRUE)), 'Correct page redirection, no language filtering.');
$edit = array('language[fr]' => TRUE);
$this->backdropPost('search/node', $edit, t('Advanced search'));
$this->assertFieldByXPath('//input[@name="keys"]', 'langcode:fr', 'Language filter added to query.');
$path = 'admin/config/regional/language';
$this->backdropGet($path);
$this->assertFieldChecked('edit-site-default-en', 'English is the default language.');
$edit = array('site_default' => 'fr');
$this->backdropPost(NULL, $edit, t('Save configuration'));
$this->assertNoFieldChecked('edit-site-default-en', 'Default language updated.');
$edit = array('languages[en][enabled]' => FALSE);
$this->backdropPost('admin/config/regional/language', $edit, t('Save configuration'));
$this->assertNoFieldChecked('edit-languages-en-enabled', 'Language disabled.');
$this->backdropGet('search/node');
$this->assertNoText(t('Languages'), 'No languages to choose from.');
}