You are here

protected function SimpleTestErrorCollectorTest::error in Drupal 8

Stores errors into an array.

This test class is trying to verify that simpletest correctly sees errors and warnings. However, it can't generate errors and warnings that propagate up to the testing framework itself, or these tests would always fail. So, this special copy of error() doesn't propagate the errors up the class hierarchy. It just stuffs them into a protected collectedErrors array for various assertions to inspect.

Overrides TestBase::error

File

core/modules/simpletest/src/Tests/SimpleTestErrorCollectorTest.php, line 63

Class

SimpleTestErrorCollectorTest
Tests SimpleTest error and exception collector.

Namespace

Drupal\simpletest\Tests

Code

protected function error($message = '', $group = 'Other', array $caller = NULL) {

  // Due to a WTF elsewhere, simpletest treats debug() and verbose()
  // messages as if they were an 'error'. But, we don't want to collect
  // those here. This function just wants to collect the real errors (PHP
  // notices, PHP fatal errors, etc.), and let all the 'errors' from the
  // 'User notice' group bubble up to the parent classes to be handled (and
  // eventually displayed) as normal.
  if ($group == 'User notice') {
    parent::error($message, $group, $caller);
  }
  else {
    $this->collectedErrors[] = [
      'message' => $message,
      'group' => $group,
      'caller' => $caller,
    ];
  }
}