function i18nPathTestCase::testPathTranslation in Internationalization 7
File
- i18n_path/
i18n_path.test, line 25 - Test case for multilingual menus.
Class
- i18nPathTestCase
- @file Test case for multilingual menus.
Code
function testPathTranslation() {
$this
->setUpContentType(array(
'type' => 'page',
'mode' => TRANSLATION_ENABLED,
));
// Create 2 nodes in different languages.
$first_title = $this
->randomName(10);
$first_body = $this
->randomString(50);
$first_node = $this
->createNode('page', $first_title, $first_body, $this->default_language);
$secondary_title = $this
->randomName(10);
$secondary_body = $this
->randomString(50);
$secondary_node = $this
->createNode('page', $secondary_title, $secondary_body, $this->secondary_language);
$this
->drupalGet('node/' . $first_node->nid);
$this
->checkTranslationLink('node/' . $first_node->nid, $first_node->language);
$this
->checkTranslationLink($this->secondary_language . '/node/' . $first_node->nid, $this->secondary_language, 'assertNoRaw');
$this
->drupalGet('node/' . $secondary_node->nid);
$this
->checkTranslationLink('node/' . $secondary_node->nid, $secondary_node->language);
$this
->checkTranslationLink($this->secondary_language . '/node/' . $secondary_node->nid, $this->secondary_language);
$this
->drupalGet('admin/config/regional/i18n_translation/path');
$this
->clickLink(t('Add path translation'));
// create new translation set with two node links
$edit = array(
'title' => $this
->randomName(10),
'translations[' . $this->default_language . ']' => 'node/' . $first_node->nid,
'translations[' . $this->secondary_language . ']' => 'node/' . $secondary_node->nid,
);
$this
->drupalPost('admin/config/regional/i18n_translation/path/add', $edit, t('Save'));
$this
->drupalGet('node/' . $first_node->nid);
$this
->checkTranslationLink('node/' . $first_node->nid, $first_node->language);
$this
->checkTranslationLink($this->secondary_language . '/node/' . $secondary_node->nid, $this->secondary_language);
$this
->drupalGet('node/' . $secondary_node->nid);
$this
->checkTranslationLink('node/' . $first_node->nid, $first_node->language);
$this
->checkTranslationLink('node/' . $secondary_node->nid, $this->secondary_language);
// create new translation set with one node and one menu "token"
$edit = array(
'translations[' . $this->default_language . ']' => 'node/' . $first_node->nid,
'translations[' . $this->secondary_language . ']' => '<front>',
);
$this
->drupalPost('admin/config/regional/i18n_translation/path/edit/1', $edit, t('Save'));
$this
->drupalGet('node/' . $first_node->nid);
$this
->checkTranslationLink('node/' . $first_node->nid, $first_node->language);
$this
->checkTranslationLink('node/' . $secondary_node->nid, $this->secondary_language, 'assertNoLinkByHref');
$this
->checkTranslationLink($this->secondary_language, $this->secondary_language);
// create new translation set with one node and an external menu link.
$url = 'http://' . $this
->randomName(10) . '.' . $this
->randomName(2);
$edit = array(
'translations[' . $this->default_language . ']' => 'node/' . $first_node->nid,
'translations[' . $this->secondary_language . ']' => $url,
);
$this
->drupalPost('admin/config/regional/i18n_translation/path/edit/1', $edit, t('Save'));
$this
->drupalGet('node/' . $first_node->nid);
$this
->checkTranslationLink('node/' . $first_node->nid, $first_node->language);
$this
->checkTranslationLink($url, $this->secondary_language);
}