diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php index 23d20b427c..9dc6bfd6b5 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php @@ -1919,72 +1919,69 @@ class ChoiceTypeTest extends \Symfony\Component\Form\Test\TypeTestCase return array( // single non-expanded, not required 'A placeholder is not used if it is explicitly set to false' => array(false, false, false, false, false, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, false, false, false, null, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, false, false, false, '', null), - 'A placeholder is not used if it is explicitly set to false' => array(false, false, false, false, 'bar', null), + 'A placeholder is not used if it is explicitly set to false with null as empty value' => array(false, false, false, false, null, null), + 'A placeholder is not used if it is explicitly set to false with empty string as empty value' => array(false, false, false, false, '', null), + 'A placeholder is not used if it is explicitly set to false with "bar" as empty value' => array(false, false, false, false, 'bar', null), 'A placeholder is not used if empty_value is set to false [maintains BC]' => array(false, false, false, null, false, null), - 'An unset empty_value is automaticaly made an empty string in a non-required field (but null is expected here) [maintains BC]' => array(false, false, false, null, null, ''), + 'An unset empty_value is automatically made an empty string in a non-required field (but null is expected here) [maintains BC]' => array(false, false, false, null, null, null), 'An empty string empty_value is used if placeholder is not set [maintains BC]' => array(false, false, false, null, '', ''), 'A non-empty string empty_value is used if placeholder is not set [maintains BC]' => array(false, false, false, null, 'bar', 'bar'), 'A placeholder is not used if it is an empty string and empty_value is set to false [maintains BC]' => array(false, false, false, '', false, null), - 'An unset empty_value is automatically made an empty string in a non-required field (but null is expected here) [maintains BC]' => array(false, false, false, '', null, null), + 'An unset empty_value is automatically made an empty string in a non-required field (but null is expected here) when placeholder is an empty string [maintains BC]' => array(false, false, false, '', null, null), 'An empty string empty_value is used if placeholder is also an empty string [maintains BC]' => array(false, false, false, '', '', ''), 'A non-empty string empty_value is used if placeholder is an empty string [maintains BC]' => array(false, false, false, '', 'bar', 'bar'), 'A non-empty string placeholder takes precedence over an empty_value set to false' => array(false, false, false, 'foo', false, 'foo'), - 'A non-empty string placeholder takes precendece over a not set empty_value' => array(false, false, false, 'foo', null, 'foo'), + 'A non-empty string placeholder takes precedence over a not set empty_value' => array(false, false, false, 'foo', null, 'foo'), 'A non-empty string placeholder takes precedence over an empty string empty_value' => array(false, false, false, 'foo', '', 'foo'), 'A non-empty string placeholder takes precedence over a non-empty string empty_value' => array(false, false, false, 'foo', 'bar', 'foo'), // single non-expanded, required - 'A placeholder is not used if it is explicitly set to false' => array(false, false, true, false, false, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, false, true, false, null, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, false, true, false, '', null), - 'A placeholder is not used if it is explicitly set to false' => array(false, false, true, false, 'bar', null), - 'A placeholder is not used if empty_value is set to false [maintains BC]' => array(false, false, true, null, false, null), - 'A placeholder is not used if empty_value is not set [maintains BC]' => array(false, false, true, null, null, null), - 'An empty string empty_value is used if placeholder is not set [maintains BC]' => array(false, false, true, null, '', ''), - 'A non-empty string empty_value is used if placeholder is not set [maintains BC]' => array(false, false, true, null, 'bar', 'bar'), - 'A placeholder is not used if it is an empty string and empty_value is set to false [maintains BC]' => array(false, false, true, '', false, null), + 'A placeholder is not used if it is explicitly set to false when required' => array(false, false, true, false, false, null), + 'A placeholder is not used if it is explicitly set to false with null as empty value when required' => array(false, false, true, false, null, null), + 'A placeholder is not used if it is explicitly set to false with empty string as empty value when required' => array(false, false, true, false, '', null), + 'A placeholder is not used if it is explicitly set to false with "bar" as empty value when required' => array(false, false, true, false, 'bar', null), + 'A placeholder is not used if empty_value is set to false when required [maintains BC]' => array(false, false, true, null, false, null), + 'A placeholder is not used if empty_value is not set when required [maintains BC]' => array(false, false, true, null, null, null), + 'An empty string empty_value is used if placeholder is not set when required [maintains BC]' => array(false, false, true, null, '', ''), + 'A non-empty string empty_value is used if placeholder is not set when required [maintains BC]' => array(false, false, true, null, 'bar', 'bar'), + 'A placeholder is not used if it is an empty string and empty_value is set to false when required [maintains BC]' => array(false, false, true, '', false, null), 'A placeholder is not used if empty_value is not set [maintains BC]' => array(false, false, true, '', null, null), - 'An empty string empty_value is used if placeholder is also an empty string [maintains BC]' => array(false, false, true, '', '', ''), - 'A non-empty string empty_value is used if placeholder is an empty string [maintains BC]' => array(false, false, true, '', 'bar', 'bar'), - 'A non-empty string placeholder takes precedence over an empty_value set to false' => array(false, false, true, 'foo', false, 'foo'), - 'A non-empty string placeholder takes precendece over a not set empty_value' => array(false, false, true, 'foo', null, 'foo'), - 'A non-empty string placeholder takes precedence over an empty string empty_value' => array(false, false, true, 'foo', '', 'foo'), - 'A non-empty string placeholder takes precedence over a non-empty string empty_value' => array(false, false, true, 'foo', 'bar', 'foo'), + 'An empty string empty_value is used if placeholder is also an empty string when required [maintains BC]' => array(false, false, true, '', '', ''), + 'A non-empty string empty_value is used if placeholder is an empty string when required [maintains BC]' => array(false, false, true, '', 'bar', 'bar'), + 'A non-empty string placeholder takes precedence over an empty_value set to false when required' => array(false, false, true, 'foo', false, 'foo'), + 'A non-empty string placeholder takes precedence over a not set empty_value' => array(false, false, true, 'foo', null, 'foo'), + 'A non-empty string placeholder takes precedence over an empty string empty_value when required' => array(false, false, true, 'foo', '', 'foo'), + 'A non-empty string placeholder takes precedence over a non-empty string empty_value when required' => array(false, false, true, 'foo', 'bar', 'foo'), // single expanded, not required - 'A placeholder is not used if it is explicitly set to false' => array(false, true, false, false, false, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, true, false, false, null, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, true, false, false, '', null), - 'A placeholder is not used if it is explicitly set to false' => array(false, true, false, false, 'bar', null), - 'A placeholder is not used if empty_value is set to false [maintains BC]' => array(false, true, false, null, false, null), - 'An unset empty_value is automaticaly made an empty string in a non-required field (but null is expected here) [maintains BC]' => array(false, true, false, null, null, null), + 'A placeholder is not used if it is explicitly set to false when expanded' => array(false, true, false, false, false, null), + 'A placeholder is not used if it is explicitly set to false with null as empty value when expanded' => array(false, true, false, false, null, null), + 'A placeholder is not used if it is explicitly set to false with empty string as empty value when expanded' => array(false, true, false, false, '', null), + 'A placeholder is not used if it is explicitly set to false with "bar" as empty value when expanded' => array(false, true, false, false, 'bar', null), + 'A placeholder is not used if empty_value is set to false when expanded [maintains BC]' => array(false, true, false, null, false, null), + 'An unset empty_value is automatically made an empty string in a non-required field when expanded (but null is expected here) [maintains BC]' => array(false, true, false, null, null, null), 'An empty string empty_value is converted to "None" in an expanded single choice field [maintains BC]' => array(false, true, false, null, '', 'None'), - 'A non-empty string empty_value is used if placeholder is not set [maintains BC]' => array(false, true, false, null, 'bar', 'bar'), - 'A placeholder is not used if it is an empty string and empty_value is set to false [maintains BC]' => array(false, true, false, '', false, null), - 'An unset empty_value is automatically made an empty string in a non-required field (but null is expected here) [maintains BC]' => array(false, true, false, '', null, null), - 'An empty string empty_value is converted to "None" in an expanded single choice field [maintains BC]' => array(false, true, false, '', '', 'None'), - 'A non-empty string empty_value is used if placeholder is an empty string [maintains BC]' => array(false, true, false, '', 'bar', 'bar'), - 'A non-empty string placeholder takes precedence over an empty_value set to false' => array(false, true, false, 'foo', false, 'foo'), - 'A non-empty string placeholder takes precendece over a not set empty_value' => array(false, true, false, 'foo', null, 'foo'), - 'A non-empty string placeholder takes precedence over an empty string empty_value' => array(false, true, false, 'foo', '', 'foo'), - 'A non-empty string placeholder takes precedence over a non-empty string empty_value' => array(false, true, false, 'foo', 'bar', 'foo'), + 'A non-empty string empty_value is used if placeholder is not set when expanded [maintains BC]' => array(false, true, false, null, 'bar', 'bar'), + 'A placeholder is not used if it is an empty string and empty_value is set to false when expanded [maintains BC]' => array(false, true, false, '', false, null), + 'An unset empty_value is automatically made an empty string in a non-required field (but null is expected here) when expanded [maintains BC]' => array(false, true, false, '', null, null), + 'An empty string empty_value is converted to "None" in an expanded single choice field when placeholder is an empty string [maintains BC]' => array(false, true, false, '', '', 'None'), + 'A non-empty string empty_value is used if placeholder is an empty string when expanded [maintains BC]' => array(false, true, false, '', 'bar', 'bar'), + 'A non-empty string placeholder takes precedence over an empty_value set to false when expanded' => array(false, true, false, 'foo', false, 'foo'), + 'A non-empty string placeholder takes precedence over a not set empty_value when expanded' => array(false, true, false, 'foo', null, 'foo'), + 'A non-empty string placeholder takes precedence over an empty string empty_value when expanded' => array(false, true, false, 'foo', '', 'foo'), + 'A non-empty string placeholder takes precedence over a non-empty string empty_value when expanded' => array(false, true, false, 'foo', 'bar', 'foo'), // single expanded, required - 'A placeholder is not used if it is explicitly set to false' => array(false, true, true, false, false, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, true, true, false, null, null), - 'A placeholder is not used if it is explicitly set to false' => array(false, true, true, false, '', null), - 'A placeholder is not used if it is explicitly set to false' => array(false, true, true, false, 'bar', null), - 'A placeholder is not used if empty_value is set to false [maintains BC]' => array(false, true, true, null, false, null), - 'A placeholder is not used if empty_value is not set [maintains BC]' => array(false, true, true, null, null, null), - 'An empty string empty_value is converted to "None" in an expanded single choice field [maintains BC]' => array(false, true, true, null, '', 'None'), - 'A non-empty string empty_value is used if placeholder is not set [maintains BC]' => array(false, true, true, null, 'bar', 'bar'), - 'A placeholder is not used if it is an empty string and empty_value is set to false [maintains BC]' => array(false, true, true, '', false, null), - 'A placeholder is not used if empty_value is not set [maintains BC]' => array(false, true, true, '', null, null), - 'An empty string empty_value is converted to "None" in an expanded single choice field [maintains BC]' => array(false, true, true, '', '', 'None'), - 'A non-empty string empty_value is used if placeholder is an empty string [maintains BC]' => array(false, true, true, '', 'bar', 'bar'), - 'A non-empty string placeholder takes precedence over an empty_value set to false' => array(false, true, true, 'foo', false, 'foo'), - 'A non-empty string placeholder takes precendece over a not set empty_value' => array(false, true, true, 'foo', null, 'foo'), - 'A non-empty string placeholder takes precedence over an empty string empty_value' => array(false, true, true, 'foo', '', 'foo'), - 'A non-empty string placeholder takes precedence over a non-empty string empty_value' => array(false, true, true, 'foo', 'bar', 'foo'), + 'A placeholder is not used if it is explicitly set to false when expanded and required' => array(false, true, true, false, false, null), + 'A placeholder is not used if it is explicitly set to false with null as empty value when expanded and required' => array(false, true, true, false, null, null), + 'A placeholder is not used if it is explicitly set to false with empty string as empty value when expanded and required' => array(false, true, true, false, '', null), + 'A placeholder is not used if it is explicitly set to false with "bar" as empty value when expanded and required' => array(false, true, true, false, 'bar', null), + 'A placeholder is not used if empty_value is set to false when expanded and required [maintains BC]' => array(false, true, true, null, false, null), + 'A placeholder is not used if empty_value is not set when expanded and required [maintains BC]' => array(false, true, true, null, null, null), + 'An empty string empty_value is not used in an expanded single choice field when expanded and required [maintains BC]' => array(false, true, true, null, '', null), + 'A non-empty string empty_value is not used if placeholder is not set when expanded and required [maintains BC]' => array(false, true, true, null, 'bar', null), + 'A placeholder is not used if it is an empty string and empty_value is set to false when expanded and required [maintains BC]' => array(false, true, true, '', false, null), + 'A placeholder is not used as empty string if empty_value is not set when expanded and required [maintains BC]' => array(false, true, true, '', null, null), + 'An empty string empty_value is ignored in an expanded single choice field when required [maintains BC]' => array(false, true, true, 'foo', '', null), + 'A non-empty string empty_value is ignored when expanded and required [maintains BC]' => array(false, true, true, '', 'bar', null), + 'A non-empty string placeholder is ignored when expanded and required' => array(false, true, true, 'foo', '', null), // multiple expanded, not required array(true, true, false, false, false, null), array(true, true, false, false, null, null),