diff core/tests/Drupal/FunctionalTests/Installer/InstallerTestBase.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
line wrap: on
line diff
--- a/core/tests/Drupal/FunctionalTests/Installer/InstallerTestBase.php	Thu Feb 28 13:11:55 2019 +0000
+++ b/core/tests/Drupal/FunctionalTests/Installer/InstallerTestBase.php	Thu May 09 15:34:47 2019 +0100
@@ -8,6 +8,7 @@
 use Drupal\Core\Site\Settings;
 use Drupal\Core\Test\HttpClientMiddleware\TestHttpClientMiddleware;
 use Drupal\Tests\BrowserTestBase;
+use Drupal\Tests\RequirementsPageTrait;
 use GuzzleHttp\HandlerStack;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Reference;
@@ -19,6 +20,8 @@
  */
 abstract class InstallerTestBase extends BrowserTestBase {
 
+  use RequirementsPageTrait;
+
   /**
    * Custom settings.php values to write for a test run.
    *
@@ -244,12 +247,7 @@
    * @see system_requirements()
    */
   protected function setUpRequirementsProblem() {
-    // By default, skip the "recommended PHP version" warning on older test
-    // environments. This allows the installer to be tested consistently on
-    // both recommended PHP versions and older (but still supported) versions.
-    if (version_compare(phpversion(), '7.0') < 0) {
-      $this->continueOnExpectedWarnings(['PHP']);
-    }
+    // Do nothing.
   }
 
   /**
@@ -275,45 +273,4 @@
     }
   }
 
-  /**
-   * Continues installation when an expected warning is found.
-   *
-   * @param string[] $expected_warnings
-   *   A list of warning summaries to expect on the requirements screen (e.g.
-   *   'PHP', 'PHP OPcode caching', etc.). If only the expected warnings
-   *   are found, the test will click the "continue anyway" link to go to the
-   *   next screen of the installer. If an expected warning is not found, or if
-   *   a warning not in the list is present, a fail is raised.
-   */
-  protected function continueOnExpectedWarnings($expected_warnings = []) {
-    // Don't try to continue if there are errors.
-    if (strpos($this->getTextContent(), 'Errors found') !== FALSE) {
-      return;
-    }
-    // Allow only details elements that are directly after the warning header
-    // or each other. There is no guaranteed wrapper we can rely on across
-    // distributions. When there are multiple warnings, the selectors will be:
-    // - h3#warning+details summary
-    // - h3#warning+details+details summary
-    // - etc.
-    // We add one more selector than expected warnings to confirm that there
-    // isn't any other warning before clicking the link.
-    // @todo Make this more reliable in
-    //   https://www.drupal.org/project/drupal/issues/2927345.
-    $selectors = [];
-    for ($i = 0; $i <= count($expected_warnings); $i++) {
-      $selectors[] = 'h3#warning' . implode('', array_fill(0, $i + 1, '+details')) . ' summary';
-    }
-    $warning_elements = $this->cssSelect(implode(', ', $selectors));
-
-    // Confirm that there are only the expected warnings.
-    $warnings = [];
-    foreach ($warning_elements as $warning) {
-      $warnings[] = trim($warning->getText());
-    }
-    $this->assertEquals($expected_warnings, $warnings);
-    $this->clickLink('continue anyway');
-    $this->checkForMetaRefresh();
-  }
-
 }