function NodeFieldFilterTest::assertPageCounts

Same name and namespace in other branches
  1. 8.9.x core/modules/node/tests/src/Functional/Views/NodeFieldFilterTest.php \Drupal\Tests\node\Functional\Views\NodeFieldFilterTest::assertPageCounts()
  2. 10 core/modules/node/tests/src/Functional/Views/NodeFieldFilterTest.php \Drupal\Tests\node\Functional\Views\NodeFieldFilterTest::assertPageCounts()
  3. 11.x core/modules/node/tests/src/Functional/Views/NodeFieldFilterTest.php \Drupal\Tests\node\Functional\Views\NodeFieldFilterTest::assertPageCounts()

Asserts that the given node translation counts are correct.

@internal

Parameters

string $path: Path of the page to test.

array $counts: Array whose keys are languages, and values are the number of times that translation should be shown on the given page.

string $message: Message suffix to display.

1 call to NodeFieldFilterTest::assertPageCounts()
NodeFieldFilterTest::testFilters in core/modules/node/tests/src/Functional/Views/NodeFieldFilterTest.php
Tests body and title filters.

File

core/modules/node/tests/src/Functional/Views/NodeFieldFilterTest.php, line 103

Class

NodeFieldFilterTest
Tests node field filters with translations.

Namespace

Drupal\Tests\node\Functional\Views

Code

protected function assertPageCounts(string $path, array $counts, string $message) : void {
    // Disable read more links.
    \Drupal::service('entity_display.repository')->getViewDisplay('node', 'page', 'teaser')
        ->removeComponent('links')
        ->save();
    // Get the text of the page.
    $this->drupalGet($path);
    $text = $this->getTextContent();
    // Check the counts. Note that the title and body are both shown on the
    // page, and they are the same. So the title/body string should appear on
    // the page twice as many times as the input count.
    foreach ($counts as $langcode => $count) {
        $this->assertEquals(2 * $count, substr_count($text, $this->nodeTitles[$langcode]), 'Translation ' . $langcode . ' has count ' . $count . ' with ' . $message);
    }
}

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