You are here

protected function ViewsBlockFilterBlockBase::clickViewsOperationLink in Views Block Exposed Filter Blocks 7

Click a link to perform an operation on a view.

In general, we expect lots of links titled "enable" or "disable" on the various views listing pages, and they might have tokens in them. So we need special code to find the correct one to click.

Parameters

$label: Text between the anchor tags of the desired link.

$unique_href_part: A unique string that is expected to occur within the href of the desired link. For example, if the link URL is expected to look like "admin/structure/views/view/frontpage/...", then "/frontpage/" could be passed as the expected unique string.

Return value

The page content that results from clicking on the link, or FALSE on failure. Failure also results in a failed assertion.

1 call to ViewsBlockFilterBlockBase::clickViewsOperationLink()
ViewsBlockFilterBlockBasicUICase::testCreateBlockViewAndSave in tests/views_block_filter_block.test

File

tests/views_block_filter_block.test, line 48
Tests for the Views Block Exposed Filter Block module.

Class

ViewsBlockFilterBlockBase
Base/helper class for Views Block Filter Block tests.

Code

protected function clickViewsOperationLink($label, $unique_href_part) {
  $links = $this
    ->xpath('//a[normalize-space(text())=:label]', array(
    ':label' => $label,
  ));
  foreach ($links as $link_index => $link) {
    $position = strpos($link['href'], $unique_href_part);
    if ($position !== FALSE) {
      $index = $link_index;
      break;
    }
  }
  $this
    ->assertTrue(isset($index), t('Link to "@label" containing @part found.', array(
    '@label' => $label,
    '@part' => $unique_href_part,
  )));
  if (isset($index)) {
    return $this
      ->clickLink($label, $index);
  }
  else {
    return FALSE;
  }
}