function LanguageSelectElementTest::_testLanguageSelectElementOptions

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()
  3. 11.x 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,
    ]));
}

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