You are here

trait DevelWebAssertHelper in Devel 8

Same name and namespace in other branches
  1. 8.3 tests/src/Functional/DevelWebAssertHelper.php \Drupal\Tests\devel\Functional\DevelWebAssertHelper
  2. 8.2 tests/src/Functional/DevelWebAssertHelper.php \Drupal\Tests\devel\Functional\DevelWebAssertHelper
  3. 4.x tests/src/Functional/DevelWebAssertHelper.php \Drupal\Tests\devel\Functional\DevelWebAssertHelper

Provides convenience methods for assertions in browser tests.

Hierarchy

File

tests/src/Functional/DevelWebAssertHelper.php, line 10

Namespace

Drupal\Tests\devel\Functional
View source
trait DevelWebAssertHelper {

  /**
   * Asserts local tasks in the page output.
   *
   * @param array $routes
   *   A list of expected local tasks, prepared as an array of route names and
   *   their associated route parameters, to assert on the page (in the given
   *   order).
   * @param int $level
   *   (optional) The local tasks level to assert; 0 for primary, 1 for
   *   secondary. Defaults to 0.
   */
  protected function assertLocalTasks(array $routes, $level = 0) {
    $type_class = $level == 0 ? 'tabs primary' : 'tabs secondary';
    $elements = $this
      ->xpath('//*[contains(@class, :class)]//a', [
      ':class' => $type_class,
    ]);
    $this
      ->assertTrue(count($elements), 'Local tasks found.');
    foreach ($routes as $index => $route_info) {
      list($route_name, $route_parameters) = $route_info;
      $expected = Url::fromRoute($route_name, $route_parameters)
        ->toString();
      $this
        ->assertEquals($expected, $elements[$index]
        ->getAttribute('href'));
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DevelWebAssertHelper::assertLocalTasks protected function Asserts local tasks in the page output.