function FieldWebTest::xpathContent

Same name in other branches
  1. 8.9.x core/modules/views/tests/src/Functional/Handler/FieldWebTest.php \Drupal\Tests\views\Functional\Handler\FieldWebTest::xpathContent()
  2. 10 core/modules/views/tests/src/Functional/Handler/FieldWebTest.php \Drupal\Tests\views\Functional\Handler\FieldWebTest::xpathContent()
  3. 11.x core/modules/views/tests/src/Functional/Handler/FieldWebTest.php \Drupal\Tests\views\Functional\Handler\FieldWebTest::xpathContent()

Performs an xpath search on a certain content.

The search is relative to the root element of the $content variable.

Parameters

string $content: The html to parse.

string $xpath: The xpath string to use in the search.

array $arguments: Some arguments for the xpath.

Return value

array|false The return value of the xpath search. For details on the xpath string format and return values see the SimpleXML documentation, http://php.net/manual/function.simplexml-element-xpath.php.

3 calls to FieldWebTest::xpathContent()
FieldWebTest::testAlterUrl in core/modules/views/tests/src/Functional/Handler/FieldWebTest.php
Tests rewriting the output to a link.
FieldWebTest::testFieldClasses in core/modules/views/tests/src/Functional/Handler/FieldWebTest.php
Tests the field/label/wrapper classes.
FieldWebTest::testTextRendering in core/modules/views/tests/src/Functional/Handler/FieldWebTest.php
Tests trimming/read-more/ellipses.

File

core/modules/views/tests/src/Functional/Handler/FieldWebTest.php, line 204

Class

FieldWebTest
Tests fields from within a UI.

Namespace

Drupal\Tests\views\Functional\Handler

Code

protected function xpathContent($content, $xpath, array $arguments = []) {
    if ($elements = $this->parseContent($content)) {
        $xpath = $this->assertSession()
            ->buildXPathQuery($xpath, $arguments);
        $result = $elements->xpath($xpath);
        // Some combinations of PHP / libxml versions return an empty array
        // instead of the documented FALSE. Forcefully convert any falsish values
        // to an empty array to allow foreach(...) constructions.
        return $result ? $result : [];
    }
    else {
        return FALSE;
    }
}

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