You are here

function SearchNumberMatchingTest::testNumberSearching in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/modules/search/src/Tests/SearchNumberMatchingTest.php \Drupal\search\Tests\SearchNumberMatchingTest::testNumberSearching()

Tests that all the numbers can be searched.

File

core/modules/search/src/Tests/SearchNumberMatchingTest.php, line 76
Contains \Drupal\search\Tests\SearchNumberMatchingTest.

Class

SearchNumberMatchingTest
Tests that numbers can be searched with more complex matching.

Namespace

Drupal\search\Tests

Code

function testNumberSearching() {
  for ($i = 0; $i < count($this->numbers); $i++) {
    $node = $this->nodes[$i];

    // Verify that the node title does not appear on the search page
    // with a dummy search.
    $this
      ->drupalPostForm('search/node', array(
      'keys' => 'foo',
    ), t('Search'));
    $this
      ->assertNoText($node
      ->label(), format_string('%number: node title not shown in dummy search', array(
      '%number' => $i,
    )));

    // Now verify that we can find node i by searching for any of the
    // numbers.
    for ($j = 0; $j < count($this->numbers); $j++) {
      $number = $this->numbers[$j];

      // If the number is negative, remove the - sign, because - indicates
      // "not keyword" when searching.
      $number = ltrim($number, '-');
      $this
        ->drupalPostForm('search/node', array(
        'keys' => $number,
      ), t('Search'));
      $this
        ->assertText($node
        ->label(), format_string('%i: node title shown (search found the node) in search for number %number', array(
        '%i' => $i,
        '%number' => $number,
      )));
    }
  }
}