Issue #2907485 by Lendude, jonathan1055: Add getAllOptions() to AssertLegacyTrait
parent
2e3db91553
commit
d2f5b62f07
|
@ -115,6 +115,14 @@ class FormTestSelectForm extends FormBase {
|
|||
'#multiple' => TRUE,
|
||||
];
|
||||
|
||||
$form['opt_groups'] = [
|
||||
'#type' => 'select',
|
||||
'#options' => [
|
||||
'optgroup_one' => ['one' => 'one', 'two' => 'two', 'three' => 'three', 'four' => '<strong>four</strong>'],
|
||||
'optgroup_two' => ['five' => 'five', 'six' => 'six'],
|
||||
],
|
||||
];
|
||||
|
||||
$form['submit'] = ['#type' => 'submit', '#value' => 'Submit'];
|
||||
return $form;
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Drupal\FunctionalTests;
|
||||
|
||||
use Behat\Mink\Element\NodeElement;
|
||||
use Behat\Mink\Exception\ExpectationException;
|
||||
use Behat\Mink\Selector\Xpath\Escaper;
|
||||
use Drupal\Component\Render\FormattableMarkup;
|
||||
|
@ -812,4 +813,21 @@ trait AssertLegacyTrait {
|
|||
return $this->getSession()->getPage()->getContent();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all option elements, including nested options, in a select.
|
||||
*
|
||||
* @param \Behat\Mink\Element\NodeElement $element
|
||||
* The element for which to get the options.
|
||||
*
|
||||
* @return \Behat\Mink\Element\NodeElement[]
|
||||
* Option elements in select.
|
||||
*
|
||||
* @deprecated Scheduled for removal in Drupal 9.0.0.
|
||||
* Use $element->findAll('xpath', 'option') instead.
|
||||
*/
|
||||
protected function getAllOptions(NodeElement $element) {
|
||||
@trigger_error('AssertLegacyTrait::getAllOptions() is scheduled for removal in Drupal 9.0.0. Use $element->findAll(\'xpath\', \'option\') instead.', E_USER_DEPRECATED);
|
||||
return $element->findAll('xpath', '//option');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -434,6 +434,10 @@ class BrowserTestBaseTest extends BrowserTestBase {
|
|||
catch (\PHPUnit_Framework_ExpectationFailedException $e) {
|
||||
$this->pass($e->getMessage());
|
||||
}
|
||||
|
||||
// Test \Drupal\FunctionalTests\AssertLegacyTrait::getAllOptions.
|
||||
$this->drupalGet('/form-test/select');
|
||||
$this->assertCount(6, $this->getAllOptions($this->cssSelect('select[name="opt_groups"]')[0]));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue