Version 1
[yaffs-website] / web / core / modules / content_translation / tests / src / Unit / Menu / ContentTranslationLocalTasksTest.php
diff --git a/web/core/modules/content_translation/tests/src/Unit/Menu/ContentTranslationLocalTasksTest.php b/web/core/modules/content_translation/tests/src/Unit/Menu/ContentTranslationLocalTasksTest.php
new file mode 100644 (file)
index 0000000..a72d9b7
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+namespace Drupal\Tests\content_translation\Unit\Menu;
+
+use Drupal\Tests\Core\Menu\LocalTaskIntegrationTestBase;
+
+/**
+ * Tests content translation local tasks.
+ *
+ * @group content_translation
+ */
+class ContentTranslationLocalTasksTest extends LocalTaskIntegrationTestBase {
+
+  protected function setUp() {
+    $this->directoryList = [
+      'content_translation' => 'core/modules/content_translation',
+      'node' => 'core/modules/node',
+    ];
+    parent::setUp();
+
+    $entity_type = $this->getMock('Drupal\Core\Entity\EntityTypeInterface');
+    $entity_type->expects($this->any())
+      ->method('getLinkTemplate')
+      ->will($this->returnValueMap([
+        ['canonical', 'entity.node.canonical'],
+        ['drupal:content-translation-overview', 'entity.node.content_translation_overview'],
+      ]));
+    $content_translation_manager = $this->getMock('Drupal\content_translation\ContentTranslationManagerInterface');
+    $content_translation_manager->expects($this->any())
+      ->method('getSupportedEntityTypes')
+      ->will($this->returnValue([
+        'node' => $entity_type,
+      ]));
+    \Drupal::getContainer()->set('content_translation.manager', $content_translation_manager);
+    \Drupal::getContainer()->set('string_translation', $this->getStringTranslationStub());
+  }
+
+  /**
+   * Tests the block admin display local tasks.
+   *
+   * @dataProvider providerTestBlockAdminDisplay
+   */
+  public function testBlockAdminDisplay($route, $expected) {
+    $this->assertLocalTasks($route, $expected);
+  }
+
+  /**
+   * Provides a list of routes to test.
+   */
+  public function providerTestBlockAdminDisplay() {
+    return [
+      ['entity.node.canonical', [[
+        'content_translation.local_tasks:entity.node.content_translation_overview',
+        'entity.node.canonical',
+        'entity.node.edit_form',
+        'entity.node.delete_form',
+        'entity.node.version_history',
+      ]]],
+      ['entity.node.content_translation_overview', [[
+        'content_translation.local_tasks:entity.node.content_translation_overview',
+        'entity.node.canonical',
+        'entity.node.edit_form',
+        'entity.node.delete_form',
+        'entity.node.version_history',
+      ]]],
+    ];
+  }
+
+}