function AssertContentTrait::assertTitle

Same name and namespace in other branches
  1. 8.9.x core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertTitle()
  2. 10 core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertTitle()
  3. 11.x core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertTitle()

Pass if the page title is the given string.

Parameters

string $title: The string the title should be.

string $message: (optional) A message to display with the assertion. Do not translate messages: use \Drupal\Component\Render\FormattableMarkup to embed variables in the message text, not t(). If left blank, a default message will be displayed.

string $group: (optional) The group this message is in, which is displayed in a column in test output. Use 'Debug' to indicate this is debugging output. Do not translate this string. Defaults to 'Other'; most tests do not override this default.

2 calls to AssertContentTrait::assertTitle()
RouteProviderTest::testAdminHtmlRoutes in core/tests/Drupal/KernelTests/Core/Entity/RouteProviderTest.php
@covers \Drupal\Core\Entity\Routing\AdminHtmlRouteProvider::getEditFormRoute[[api-linebreak]] @covers \Drupal\Core\Entity\Routing\AdminHtmlRouteProvider::getDeleteFormRoute[[api-linebreak]]
RouteProviderTest::testHtmlRoutes in core/tests/Drupal/KernelTests/Core/Entity/RouteProviderTest.php
@covers \Drupal\Core\Entity\Routing\DefaultHtmlRouteProvider::getRoutes[[api-linebreak]]

File

core/tests/Drupal/KernelTests/AssertContentTrait.php, line 786

Class

AssertContentTrait
Provides test methods to assert content.

Namespace

Drupal\KernelTests

Code

protected function assertTitle($title, $message = '', $group = 'Other') {
  // Don't use xpath as it messes with HTML escaping.
  preg_match('@<title>(.*)</title>@', $this->getRawContent(), $matches);
  if (isset($matches[1])) {
    $actual = $matches[1];
    if (!$message) {
      $message = new FormattableMarkup('Page title @actual is equal to @expected.', [
        '@actual' => var_export($actual, TRUE),
        '@expected' => var_export($title, TRUE),
      ]);
    }
    $this->assertEquals($title, $actual, $message);
  }
  else {
    $this->fail('No title element found on the page.');
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.