From a2d694009feb969992a6608d1572417c8d3708e9 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Fri, 7 Dec 2018 15:31:10 +0000 Subject: [PATCH] filter out invalid Intl values --- .../Component/Form/Extension/Core/Type/CountryType.php | 5 ----- .../Component/Form/Extension/Core/Type/CurrencyType.php | 5 ----- .../Component/Form/Extension/Core/Type/LanguageType.php | 5 ----- .../Component/Form/Extension/Core/Type/LocaleType.php | 5 ----- .../Form/Tests/Extension/Core/Type/CountryTypeTest.php | 8 ++++++++ .../Form/Tests/Extension/Core/Type/CurrencyTypeTest.php | 8 ++++++++ .../Form/Tests/Extension/Core/Type/LanguageTypeTest.php | 8 ++++++++ .../Form/Tests/Extension/Core/Type/LocaleTypeTest.php | 8 ++++++++ 8 files changed, 32 insertions(+), 20 deletions(-) diff --git a/src/Symfony/Component/Form/Extension/Core/Type/CountryType.php b/src/Symfony/Component/Form/Extension/Core/Type/CountryType.php index 5032ef4b76..670d55f280 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/CountryType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/CountryType.php @@ -89,11 +89,6 @@ class CountryType extends AbstractType implements ChoiceLoaderInterface return array(); } - // If no callable is set, values are the same as choices - if (null === $value) { - return $values; - } - return $this->loadChoiceList($value)->getChoicesForValues($values); } diff --git a/src/Symfony/Component/Form/Extension/Core/Type/CurrencyType.php b/src/Symfony/Component/Form/Extension/Core/Type/CurrencyType.php index e4fd0622a4..1c5526283f 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/CurrencyType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/CurrencyType.php @@ -89,11 +89,6 @@ class CurrencyType extends AbstractType implements ChoiceLoaderInterface return array(); } - // If no callable is set, values are the same as choices - if (null === $value) { - return $values; - } - return $this->loadChoiceList($value)->getChoicesForValues($values); } diff --git a/src/Symfony/Component/Form/Extension/Core/Type/LanguageType.php b/src/Symfony/Component/Form/Extension/Core/Type/LanguageType.php index 04f25a62f2..1e82b98505 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/LanguageType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/LanguageType.php @@ -89,11 +89,6 @@ class LanguageType extends AbstractType implements ChoiceLoaderInterface return array(); } - // If no callable is set, values are the same as choices - if (null === $value) { - return $values; - } - return $this->loadChoiceList($value)->getChoicesForValues($values); } diff --git a/src/Symfony/Component/Form/Extension/Core/Type/LocaleType.php b/src/Symfony/Component/Form/Extension/Core/Type/LocaleType.php index 2622e32224..3499ca06af 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/LocaleType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/LocaleType.php @@ -89,11 +89,6 @@ class LocaleType extends AbstractType implements ChoiceLoaderInterface return array(); } - // If no callable is set, values are the same as choices - if (null === $value) { - return $values; - } - return $this->loadChoiceList($value)->getChoicesForValues($values); } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php index 4886b3407d..9831f79589 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; use Symfony\Component\Form\ChoiceList\View\ChoiceView; +use Symfony\Component\Form\Extension\Core\Type\CountryType; use Symfony\Component\Intl\Util\IntlTestHelper; class CountryTypeTest extends BaseTypeTest @@ -61,4 +62,11 @@ class CountryTypeTest extends BaseTypeTest { parent::testSubmitNullUsesDefaultEmptyData($emptyData, $expectedData); } + + public function testInvalidChoiceValuesAreDropped() + { + $type = new CountryType(); + + $this->assertSame(array(), $type->loadChoicesForValues(array('foo'))); + } } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php index 71c374b468..c91f7c0ff5 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; use Symfony\Component\Form\ChoiceList\View\ChoiceView; +use Symfony\Component\Form\Extension\Core\Type\CurrencyType; use Symfony\Component\Intl\Util\IntlTestHelper; class CurrencyTypeTest extends BaseTypeTest @@ -44,4 +45,11 @@ class CurrencyTypeTest extends BaseTypeTest { parent::testSubmitNullUsesDefaultEmptyData($emptyData, $expectedData); } + + public function testInvalidChoiceValuesAreDropped() + { + $type = new CurrencyType(); + + $this->assertSame(array(), $type->loadChoicesForValues(array('foo'))); + } } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php index 5cf578d442..8d469d2b41 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; use Symfony\Component\Form\ChoiceList\View\ChoiceView; +use Symfony\Component\Form\Extension\Core\Type\LanguageType; use Symfony\Component\Intl\Util\IntlTestHelper; class LanguageTypeTest extends BaseTypeTest @@ -54,4 +55,11 @@ class LanguageTypeTest extends BaseTypeTest { parent::testSubmitNullUsesDefaultEmptyData($emptyData, $expectedData); } + + public function testInvalidChoiceValuesAreDropped() + { + $type = new LanguageType(); + + $this->assertSame(array(), $type->loadChoicesForValues(array('foo'))); + } } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php index b6cf1e1b17..ac1a65ad1f 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; use Symfony\Component\Form\ChoiceList\View\ChoiceView; +use Symfony\Component\Form\Extension\Core\Type\LocaleType; use Symfony\Component\Intl\Util\IntlTestHelper; class LocaleTypeTest extends BaseTypeTest @@ -44,4 +45,11 @@ class LocaleTypeTest extends BaseTypeTest { parent::testSubmitNullUsesDefaultEmptyData($emptyData, $expectedData); } + + public function testInvalidChoiceValuesAreDropped() + { + $type = new LocaleType(); + + $this->assertSame(array(), $type->loadChoicesForValues(array('foo'))); + } }