function OliveroTest::testPagerAttribute

Same name and namespace in other branches
  1. 10 core/tests/Drupal/FunctionalTests/Theme/OliveroTest.php \Drupal\FunctionalTests\Theme\OliveroTest::testPagerAttribute()

Tests pager attribute is present using pager_test.

File

core/tests/Drupal/FunctionalTests/Theme/OliveroTest.php, line 139

Class

OliveroTest
Tests the Olivero theme.

Namespace

Drupal\FunctionalTests\Theme

Code

public function testPagerAttribute() : void {
  // Insert 300 log messages.
  $logger = \Drupal::logger('pager_test');
  for ($i = 0; $i < 300; $i++) {
    $logger->debug($this->randomString());
  }
  $this->drupalLogin($this->drupalCreateUser([
    'access site reports',
  ]));
  $this->drupalGet('pager-test/multiple-pagers', [
    'query' => [
      'page' => 1,
    ],
  ]);
  $this->assertSession()
    ->statusCodeEquals(200);
  $elements = $this->xpath('//ul[contains(@class, :class)]/li', [
    ':class' => 'pager__items',
  ]);
  $this->assertNotEmpty($elements, 'Pager found.');
  // Check all links for pager-test attribute.
  foreach ($elements as $element) {
    $link = $element->find('css', 'a');
    // Current page does not have a link.
    if (empty($link)) {
      continue;
    }
    $this->assertTrue($link->hasAttribute('pager-test'), 'Pager item has attribute pager-test');
    $this->assertTrue($link->hasClass('lizards'));
  }
}

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