Version 1
[yaffs-website] / web / core / modules / help / tests / src / Functional / ExperimentalHelpTest.php
diff --git a/web/core/modules/help/tests/src/Functional/ExperimentalHelpTest.php b/web/core/modules/help/tests/src/Functional/ExperimentalHelpTest.php
new file mode 100644 (file)
index 0000000..0eabbda
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+
+namespace Drupal\Tests\help\Functional;
+
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Verifies help for experimental modules.
+ *
+ * @group help
+ */
+class ExperimentalHelpTest extends BrowserTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * The experimental_module_test module implements hook_help() and is in the
+   * Core (Experimental) package.
+   *
+   * @var array
+   */
+  public static $modules = ['help', 'experimental_module_test', 'help_page_test'];
+
+  /**
+   * The admin user.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $adminUser;
+
+  /**
+   * {@inheritoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->adminUser = $this->drupalCreateUser(['access administration pages']);
+  }
+
+  /**
+   * Verifies that a warning message is displayed for experimental modules.
+   */
+  public function testExperimentalHelp() {
+    $this->drupalLogin($this->adminUser);
+    $this->drupalGet('admin/help/experimental_module_test');
+    $this->assertText('This module is experimental.');
+
+    // Regular modules should not display the message.
+    $this->drupalGet('admin/help/help_page_test');
+    $this->assertNoText('This module is experimental.');
+
+    // Ensure the actual help page is displayed to avoid a false positive.
+    $this->assertResponse(200);
+    $this->assertText('online documentation for the Help Page Test module');
+  }
+
+}