Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / tests / Drupal / Tests / Listeners / DrupalStandardsListenerTrait.php
index 3352d900b380da0e382e25cde7ec2c9df245ee00..84eaaced06df730e99342c1dc9ba73243c8a7b09 100644 (file)
@@ -42,7 +42,7 @@ trait DrupalStandardsListenerTrait {
    *   TRUE if the class exists, FALSE otherwise.
    */
   private function classExists($class) {
-    return class_exists($class, TRUE) || trait_exists($class, TRUE) || interface_exists($class, TRUE);
+    return class_exists($class, TRUE) || trait_exists($class, TRUE);
   }
 
   /**
@@ -71,7 +71,10 @@ trait DrupalStandardsListenerTrait {
       $default_class = reset($annotations['class']['coversDefaultClass']);
       // Check whether the default class exists.
       $valid_default_class = $this->classExists($default_class);
-      if (!$valid_default_class) {
+      if (!$valid_default_class && interface_exists($default_class)) {
+        $this->fail($test, "@coversDefaultClass refers to an interface '$default_class' and those can not be tested.");
+      }
+      elseif (!$valid_default_class) {
         $this->fail($test, "@coversDefaultClass does not exist '$default_class'");
       }
     }
@@ -105,6 +108,9 @@ trait DrupalStandardsListenerTrait {
               $this->fail($test, "@covers invalid syntax: Needs '::' or class does not exist in $covers");
               return;
             }
+            elseif (interface_exists($class)) {
+              $this->fail($test, "@covers refers to an interface '$class' and those can not be tested.");
+            }
             else {
               $this->fail($test, '@covers class does not exist ' . $class);
               return;