diff --git a/core/modules/comment/lib/Drupal/comment/Tests/CommentTranslationUITest.php b/core/modules/comment/lib/Drupal/comment/Tests/CommentTranslationUITest.php index 75ca1d8..0a71685 100644 --- a/core/modules/comment/lib/Drupal/comment/Tests/CommentTranslationUITest.php +++ b/core/modules/comment/lib/Drupal/comment/Tests/CommentTranslationUITest.php @@ -74,8 +74,11 @@ function setupTestFields() { /** * Overrides \Drupal\translation_entity\Tests\EntityTranslationUITest::createEntity(). */ - protected function createEntity($values, $langcode) { - $node = $this->drupalCreateNode(array('type' => $this->nodeBundle)); + protected function createEntity($values, $langcode, $node_bundle = NULL) { + if (!isset($node_bundle)) { + $node_bundle = $this->nodeBundle; + } + $node = $this->drupalCreateNode(array('type' => $node_bundle)); $values['nid'] = $node->nid; $values['uid'] = $node->uid; return parent::createEntity($values, $langcode); @@ -92,4 +95,21 @@ protected function getNewEntityValues($langcode) { ) + parent::getNewEntityValues($langcode); } + /** + * Tests translate link on comment content admin page. + */ + function testTranslateLinkContentAdminPage() { + $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer comments')); + $this->drupalLogin($this->admin_user); + + $cid_translatable = $this->createEntity(array(), $this->langcodes[0], $this->nodeBundle); + $cid_non_translatable = $this->createEntity(array(), $this->langcodes[0], 'page'); + + // Verify translation links + $this->drupalGet('admin/content/comment'); + $this->assertResponse(200); + $this->assertLinkByHref('comment/' . $cid_translatable . '/translations'); + $this->assertNoLinkByHref('comment/' . $cid_non_translatable . '/translations'); + } + } diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php b/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php index 5fda368..6c16f45 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php @@ -60,6 +60,23 @@ function getTranslatorPermissions() { } /** + * Tests translate link on content admin page. + */ + function testTranslateLinkContentAdminPage() { + $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'access content overview', 'administer nodes', 'bypass node access')); + $this->drupalLogin($this->admin_user); + + $page = $this->drupalCreateNode(array('type' => 'page')); + $article = $this->drupalCreateNode(array('type' => 'article')); + + // Verify translation links + $this->drupalGet('admin/content'); + $this->assertResponse(200); + $this->assertLinkByHref('node/' . $article->nid . '/translations'); + $this->assertNoLinkByHref('node/' . $page->nid . '/translations'); + } + + /** * Overrides \Drupal\translation_entity\Tests\EntityTranslationUITest::getNewEntityValues(). */ protected function getNewEntityValues($langcode) { diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php index 90982f4..b032083 100644 --- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php @@ -72,8 +72,11 @@ function getTranslatorPermissions() { /** * Overrides \Drupal\translation_entity\Tests\EntityTranslationUITest::createEntity(). */ - protected function createEntity($values, $langcode) { - $vocabulary = taxonomy_vocabulary_machine_name_load($this->bundle); + protected function createEntity($values, $langcode, $vocabulary_name = NULL) { + if (!isset($vocabulary_name)) { + $vocabulary_name = $this->bundle; + } + $vocabulary = taxonomy_vocabulary_machine_name_load($vocabulary_name); $values['vid'] = $vocabulary->id(); return parent::createEntity($values, $langcode); } @@ -99,4 +102,36 @@ public function testTranslationUI() { $this->assertEqual('taxonomy_term', $rows[0]->entity_type); $this->assertEqual('taxonomy_term', $rows[1]->entity_type); } + + /** + * Tests translate link on vocabulary term list. + */ + function testTranslateLinkVocabularyAdminPage() { + $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer taxonomy')); + $this->drupalLogin($this->admin_user); + + $translatable_vocabulary_name = taxonomy_vocabulary_machine_name_load($this->bundle)->name; + $translatable_tid = $this->createEntity(array(), $this->langcodes[0]); + + // Create a non translatable vocabulary. + $non_translatable_vocabulary = entity_create('taxonomy_vocabulary', array( + 'name' => 'non_translatable_voc', + 'description' => $this->randomName(), + 'machine_name' => 'non_translatable_voc', + 'langcode' => LANGUAGE_NOT_SPECIFIED, + 'help' => '', + 'weight' => mt_rand(0, 10), + )); + taxonomy_vocabulary_save($non_translatable_vocabulary); + + $non_translatable_vocabulary_name = $non_translatable_vocabulary->name; + $non_translatable_tid = $this->createEntity(array(), $this->langcodes[0], $non_translatable_vocabulary_name); + + + // Verify translation links + $this->drupalGet('admin/structure/taxonomy/' . $translatable_vocabulary_name); + $this->assertResponse(200); + $this->assertLinkByHref('term/' . $translatable_tid . '/translations'); + $this->assertNoLinkByHref('term/' . $non_translatable_tid . '/translations'); + } } diff --git a/core/modules/user/lib/Drupal/user/Tests/UserTranslationUITest.php b/core/modules/user/lib/Drupal/user/Tests/UserTranslationUITest.php index ae5528f..95870bb 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserTranslationUITest.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserTranslationUITest.php @@ -59,4 +59,18 @@ protected function getNewEntityValues($langcode) { return array('name' => $this->name) + parent::getNewEntityValues($langcode); } + /** + * Tests translate link on user admin list. + */ + function testTranslateLinkUserAdminPage() { + $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer users')); + $this->drupalLogin($this->admin_user); + + $uid = $this->createEntity(array('name' => $this->randomName()), $this->langcodes[0]); + + // Verify translation links + $this->drupalGet('admin/people'); + $this->assertResponse(200); + $this->assertLinkByHref('user/' . $uid . '/translations'); + } }