public function WebformElementSelectTest::testSelectElement in Webform 6.x
Same name and namespace in other branches
- 8.5 tests/src/Functional/Element/WebformElementSelectTest.php \Drupal\Tests\webform\Functional\Element\WebformElementSelectTest::testSelectElement()
Test select element.
File
- tests/
src/ Functional/ Element/ WebformElementSelectTest.php, line 22
Class
- WebformElementSelectTest
- Tests for select element.
Namespace
Drupal\Tests\webform\Functional\ElementCode
public function testSelectElement() {
// Check default empty option always included.
$this
->drupalGet('/webform/test_element_select');
$this
->assertRaw('<select data-drupal-selector="edit-select-empty-option-optional" id="edit-select-empty-option-optional" name="select_empty_option_optional" class="form-select"><option value="" selected="selected">- None -</option>');
$this
->assertRaw('<select data-drupal-selector="edit-select-empty-option-optional-default-value" id="edit-select-empty-option-optional-default-value" name="select_empty_option_optional_default_value" class="form-select"><option value="">- None -</option>');
$this
->assertRaw('<select data-drupal-selector="edit-select-empty-option-required" id="edit-select-empty-option-required" name="select_empty_option_required" class="form-select required" required="required" aria-required="true"><option value="" selected="selected">- Select -</option>');
// Disable default empty option.
\Drupal::configFactory()
->getEditable('webform.settings')
->set('element.default_empty_option', FALSE)
->save();
// Check default empty option is not always included.
$this
->drupalGet('/webform/test_element_select');
$this
->assertNoRaw('<select data-drupal-selector="edit-select-empty-option-optional" id="edit-select-empty-option-optional" name="select_empty_option_optional" class="form-select"><option value="" selected="selected">- None -</option>');
$this
->assertNoRaw('<select data-drupal-selector="edit-select-empty-option-optional-default-value" id="edit-select-empty-option-optional-default-value" name="select_empty_option_optional_default_value" class="form-select"><option value="">- None -</option>');
$this
->assertRaw('<select data-drupal-selector="edit-select-empty-option-required" id="edit-select-empty-option-required" name="select_empty_option_required" class="form-select required" required="required" aria-required="true"><option value="" selected="selected">- Select -</option>');
// Set custom empty option values.
\Drupal::configFactory()
->getEditable('webform.settings')
->set('element.default_empty_option', TRUE)
->set('element.default_empty_option_required', '{required}')
->set('element.default_empty_option_optional', '{optional}')
->save();
// Check customize empty option displayed.
$this
->drupalGet('/webform/test_element_select');
$this
->assertRaw('<select data-drupal-selector="edit-select-empty-option-optional" id="edit-select-empty-option-optional" name="select_empty_option_optional" class="form-select"><option value="" selected="selected">{optional}</option>');
$this
->assertRaw('<select data-drupal-selector="edit-select-empty-option-optional-default-value" id="edit-select-empty-option-optional-default-value" name="select_empty_option_optional_default_value" class="form-select"><option value="">{optional}</option>');
$this
->assertRaw('<select data-drupal-selector="edit-select-empty-option-required" id="edit-select-empty-option-required" name="select_empty_option_required" class="form-select required" required="required" aria-required="true"><option value="" selected="selected">{required}</option>');
}