Issue #1029060 by plopesc, Kars-T: Should allowed options for list fields trim() the strings?.
parent
3af2941e48
commit
5ff1cee383
|
@ -199,7 +199,7 @@ class OptionsFieldUITest extends FieldTestBase {
|
|||
}
|
||||
|
||||
/**
|
||||
* Options (boolen) : test 'On/Off' values input.
|
||||
* Options (boolean) : test 'On/Off' values input.
|
||||
*/
|
||||
function testOptionsAllowedValuesBoolean() {
|
||||
$this->field_name = 'field_options_boolean';
|
||||
|
@ -225,6 +225,19 @@ class OptionsFieldUITest extends FieldTestBase {
|
|||
$this->assertFalse(isset($field['settings']['off']), 'The off value is not saved into settings');
|
||||
}
|
||||
|
||||
/**
|
||||
* Options (text) : test 'trimmed values' input.
|
||||
*/
|
||||
function testOptionsTrimmedValuesText() {
|
||||
$this->field_name = 'field_options_trimmed_text';
|
||||
$this->createOptionsField('list_text');
|
||||
|
||||
// Explicit keys.
|
||||
$string = "zero |Zero\none | One";
|
||||
$array = array('zero' => 'Zero', 'one' => 'One');
|
||||
$this->assertAllowedValuesInput($string, $array, 'Explicit keys are accepted and trimmed.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to create list field of a given type.
|
||||
*
|
||||
|
|
|
@ -304,8 +304,9 @@ function options_extract_allowed_values($string, $field_type, $generate_keys) {
|
|||
// Check for an explicit key.
|
||||
$matches = array();
|
||||
if (preg_match('/(.*)\|(.*)/', $text, $matches)) {
|
||||
$key = $matches[1];
|
||||
$value = $matches[2];
|
||||
// Trim key and value to avoid unwanted spaces issues.
|
||||
$key = trim($matches[1]);
|
||||
$value = trim($matches[2]);
|
||||
$explicit_keys = TRUE;
|
||||
}
|
||||
// Otherwise see if we can use the value as the key. Detecting true integer
|
||||
|
|
Loading…
Reference in New Issue