View source
<?php
if (!class_exists('EntityTranslationTestCase')) {
return;
}
class Drafty1992010Test extends EntityTranslationTestCase {
public static function getInfo() {
return array(
'name' => 'Drafty Entity Translation #1992010',
'description' => 'Tests for the existence of the core bug this module works around',
'group' => 'Drafty',
'dependencies' => array(
'entity_translation',
),
);
}
function setUp(array $modules = array()) {
parent::setUp('locale', 'entity_translation', 'drafty_enforce');
$this
->login(parent::getAdminUser());
$this
->addLanguage('en');
$this
->addLanguage('es');
$this
->configureContentType();
$this
->login($this
->getTranslatorUser());
}
function createTranslation($node, $title, $body, $langcode, $source_langcode = 'en') {
$this
->drupalGet('node/' . $node->nid . '/edit/add/' . $source_langcode . '/' . $langcode);
$body_key = "body[{$langcode}][0][value]";
$this
->assertFieldByXPath("//textarea[@name='{$body_key}']", $node->body[$source_langcode][0]['value'], 'Original body value correctly populated.');
$this
->assertFieldById('edit-body-' . $langcode . '-add-more', t('Add another item'), t('Add another item button found.'));
$edit = array();
$edit[$body_key] = $body;
$this
->drupalPost(NULL, $edit, t('Save'));
$this
->drupalGet('node/' . $node->nid . '/translate');
return $node;
}
function testFieldTranslation() {
$node_title = $this
->randomName();
$node_body = $this
->randomName();
$node = $this
->createPage($node_title, $node_body, 'en');
$original_version = node_load($node->nid, NULL, TRUE);
$node_translation_title = $this
->randomName();
$node_translation_body = $this
->randomName();
$node_translation = $this
->createTranslation($node, $node_translation_title, $node_translation_body, 'es');
$published_version = node_load($node->nid, NULL, TRUE);
$this
->assertTrue(!isset($original_version->body['es']), 'No Spanish translation on the original version');
$this
->assertFalse(!isset($published_version->body['es']), 'Spanish translation on the published version so http://drupal.org/node/1992010 not fixed yet');
}
}