function OptionsFieldUITest::testMachineNameSpecialCharacters
Same name in other branches
- 11.x core/modules/options/tests/src/FunctionalJavascript/OptionsFieldUITest.php \Drupal\Tests\options\FunctionalJavascript\OptionsFieldUITest::testMachineNameSpecialCharacters()
Tests `list_string` machine name with special characters.
File
-
core/
modules/ options/ tests/ src/ FunctionalJavascript/ OptionsFieldUITest.php, line 154
Class
- OptionsFieldUITest
- Tests the Options field UI functionality.
Namespace
Drupal\Tests\options\FunctionalJavascriptCode
public function testMachineNameSpecialCharacters() : void {
$this->fieldName = 'field_options_text';
$this->createOptionsField('list_string');
$this->drupalGet($this->adminPath);
$label_element_name = "field_storage[subform][settings][allowed_values][table][0][item][label]";
$this->getSession()
->getPage()
->fillField($label_element_name, 'Hello world');
$this->assertSession()
->assertWaitOnAjaxRequest();
$this->exposeOptionMachineName(1);
$key_element_name = "field_storage[subform][settings][allowed_values][table][0][item][key]";
// Ensure that the machine name was generated correctly.
$this->assertSession()
->fieldValueEquals($key_element_name, 'hello_world');
// Ensure that the machine name can be overridden with a value that includes
// special characters.
$this->getSession()
->getPage()
->fillField($key_element_name, '.hello #world');
$this->assertSession()
->assertWaitOnAjaxRequest();
$this->getSession()
->getPage()
->pressButton('Save settings');
$this->assertSession()
->statusMessageContains("Saved {$this->fieldName} configuration.");
// Ensure that the machine name was saved correctly.
$allowed_values = FieldStorageConfig::loadByName('node', $this->fieldName)
->getSetting('allowed_values');
$this->assertSame([
'.hello #world',
], array_keys($allowed_values));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.