function I18nNodeTestCase::testAddContentToTranslationSet in Internationalization 7
Tests for adding content to an existing translation set.
File
- i18n_node/
i18n_node.test, line 32 - Contains test cases for the i18n_node module.
Class
- I18nNodeTestCase
- @file Contains test cases for the i18n_node module.
Code
function testAddContentToTranslationSet() {
module_load_include('inc', 'i18n_node', 'i18n_node.pages');
// Create 3 nodes in different languages.
$en_title = $this
->randomName(10);
$en_body = $this
->randomString(50);
$en_node = $this
->createNode('page', $en_title, $en_body, 'en');
$es_title = $this
->randomName(10);
$es_body = $this
->randomString(50);
$es_node = $this
->createNode('page', $es_title, $es_body, 'es');
$ptbr_title = $this
->randomName(10);
$ptbr_body = $this
->randomString(50);
$ptbr_node = $this
->createNode('page', $ptbr_title, $ptbr_body, 'pt-br');
// Check the autocomplete suggestions.
$this
->drupalGet('i18n/node/autocomplete/page/es/' . substr($es_title, 0, 3));
$this
->assertText($es_title);
$this
->assertNoText($en_title);
$this
->assertNoText($ptbr_title);
$this
->drupalGet('i18n/node/autocomplete/page/es/' . substr($en_title, 0, 3));
$this
->assertNoText($es_title);
$this
->assertNoText($en_title);
$this
->assertNoText($ptbr_title);
$this
->drupalGet('i18n/node/autocomplete/page/pt-br/' . substr($ptbr_title, 0, 3));
$this
->assertNoText($es_title);
$this
->assertNoText($en_title);
$this
->assertText($ptbr_title);
// Go to the translations tab.
$this
->drupalGet('node/' . $en_node->nid);
$this
->clickLink(t('Translate'));
// Make sure that the disabled language doesn't show up.
$this
->assertNoText(t('Italian'));
// Test validation.
$edit = array(
'translations[node][es]' => $ptbr_title,
);
$this
->drupalPost(NULL, $edit, t('Update translations'));
$this
->assertText(t('Found no valid post with that title: @title', array(
'@title' => $ptbr_title,
)));
// Add two translated nodes.
$edit = array(
'translations[node][pt-br]' => $ptbr_title,
'translations[node][es]' => $es_title,
);
$this
->drupalPost(NULL, $edit, t('Update translations'));
$this
->assertText(t('Added @count nodes to the translation set.', array(
'@count' => 2,
)));
$this
->assertFieldByName('translations[node][es]', i18n_node_nid2autocomplete($es_node->nid));
$this
->assertFieldByName('translations[node][pt-br]', i18n_node_nid2autocomplete($ptbr_node->nid));
// Remove a translation node again.
$edit = array(
'translations[node][pt-br]' => '',
);
$this
->drupalPost(NULL, $edit, t('Update translations'));
$this
->assertText(t('Removed a node from the translation set.'));
$this
->assertFieldByName('translations[node][es]', i18n_node_nid2autocomplete($es_node->nid));
$this
->assertFieldByName('translations[node][pt-br]', '');
}