You are here

protected function LanguageSelectElementTest::_testLanguageSelectElementOptions in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php \Drupal\Tests\system\Functional\Form\LanguageSelectElementTest::_testLanguageSelectElementOptions()
  2. 10 core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php \Drupal\Tests\system\Functional\Form\LanguageSelectElementTest::_testLanguageSelectElementOptions()

Helper function to check the options of a language select form element.

Parameters

string $id: The id of the language select element to check.

array $options: An array with options to compare with.

1 call to LanguageSelectElementTest::_testLanguageSelectElementOptions()
LanguageSelectElementTest::testLanguageSelectElementOptions in core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php
Tests that the options printed by the language select element are correct.

File

core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php, line 109

Class

LanguageSelectElementTest
Tests that the language select form element prints and submits the right options.

Namespace

Drupal\Tests\system\Functional\Form

Code

protected function _testLanguageSelectElementOptions($id, $options) {

  // Check that the options in the language field are exactly the same,
  // including the order, as the languages sent as a parameter.
  $elements = $this
    ->xpath("//select[@id='" . $id . "']");
  $count = 0;

  /** @var \Behat\Mink\Element\NodeElement $option */
  foreach ($elements[0]
    ->findAll('css', 'option') as $option) {
    $count++;
    $option_title = current($options);
    $this
      ->assertEqual($option
      ->getText(), $option_title);
    next($options);
  }
  $this
    ->assertEqual($count, count($options), new FormattableMarkup('The number of languages and the number of options shown by the language element are the same: @languages languages, @number options', [
    '@languages' => count($options),
    '@number' => $count,
  ]));
}