You are here

public function AssertButtonsTrait::assertButtons in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/node/tests/src/Functional/AssertButtonsTrait.php \Drupal\Tests\node\Functional\AssertButtonsTrait::assertButtons()

Assert method to verify the buttons in the dropdown element.

Parameters

array $buttons: A collection of buttons to assert for on the page.

bool $dropbutton: Whether to check if the buttons are in a dropbutton widget or not.

File

core/modules/node/tests/src/Functional/AssertButtonsTrait.php, line 20

Class

AssertButtonsTrait
Asserts that buttons are present on a page.

Namespace

Drupal\Tests\node\Functional

Code

public function assertButtons(array $buttons, $dropbutton = TRUE) {

  // Verify that the number of buttons passed as parameters is
  // available in the dropbutton widget.
  if ($dropbutton) {
    $count = count($buttons);

    // Assert there is no save button.
    $this
      ->assertSession()
      ->buttonNotExists('Save');

    // Dropbutton elements.
    $this
      ->assertSession()
      ->elementsCount('xpath', '//div[@class="dropbutton-wrapper"]//input[@type="submit"]', $count);
    for ($i = 1; $i++; $i <= $count) {
      $this
        ->assertSession()
        ->elementTextEquals('xpath', "(//div[@class='dropbutton-wrapper']//input[@type='submit'])[{$i}]", $buttons[$i - 1]);
    }
  }
  else {

    // Assert there is a save button.
    $this
      ->assertSession()
      ->buttonExists('Save');
    $this
      ->assertSession()
      ->responseNotContains('dropbutton-wrapper');
  }
}