You are here

public static function TestBase::insertAssert in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/simpletest/src/TestBase.php \Drupal\simpletest\TestBase::insertAssert()

Store an assertion from outside the testing context.

This is useful for inserting assertions that can only be recorded after the test case has been destroyed, such as PHP fatal errors. The caller information is not automatically gathered since the caller is most likely inserting the assertion on behalf of other code. In all other respects the method behaves just like \Drupal\simpletest\TestBase::assert() in terms of storing the assertion.

Return value

Message ID of the stored assertion.

See also

\Drupal\simpletest\TestBase::assert()

\Drupal\simpletest\TestBase::deleteAssert()

2 calls to TestBase::insertAssert()
simpletest_log_read in core/modules/simpletest/simpletest.module
Reads the error log and reports any errors as assertion failures.
TestBase::run in core/modules/simpletest/src/TestBase.php
Run all tests in this class.

File

core/modules/simpletest/src/TestBase.php, line 459
Contains \Drupal\simpletest\TestBase.

Class

TestBase
Base class for Drupal tests.

Namespace

Drupal\simpletest

Code

public static function insertAssert($test_id, $test_class, $status, $message = '', $group = 'Other', array $caller = array()) {

  // Convert boolean status to string status.
  if (is_bool($status)) {
    $status = $status ? 'pass' : 'fail';
  }
  $caller += array(
    'function' => 'Unknown',
    'line' => 0,
    'file' => 'Unknown',
  );
  $assertion = array(
    'test_id' => $test_id,
    'test_class' => $test_class,
    'status' => $status,
    'message' => $message,
    'message_group' => $group,
    'function' => $caller['function'],
    'line' => $caller['line'],
    'file' => $caller['file'],
  );

  // We can't use storeAssertion() because this method is static.
  return self::getDatabaseConnection()
    ->insert('simpletest')
    ->fields($assertion)
    ->execute();
}