Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4

This commit is contained in:
Bernhard Schussek 2014-03-28 11:13:11 +01:00 committed by Fabien Potencier
parent 73d56f7a1a
commit 18dc9a7f5f

View File

@ -1216,6 +1216,47 @@ class ChoiceTypeTest extends \Symfony\Component\Form\Test\TypeTestCase
));
}
// https://github.com/symfony/symfony/issues/10409
public function testReuseNonUtf8ChoiceLists()
{
$form1 = $this->factory->createNamed('name', 'choice', null, array(
'choices' => array(
'meter' => 'm',
'millimeter' => 'mm',
'micrometer' => chr(181).'meter',
),
));
$form2 = $this->factory->createNamed('name', 'choice', null, array(
'choices' => array(
'meter' => 'm',
'millimeter' => 'mm',
'micrometer' => chr(181).'meter',
),
));
$form3 = $this->factory->createNamed('name', 'choice', null, array(
'choices' => array(
'meter' => 'm',
'millimeter' => 'mm',
'micrometer' => null,
),
));
// $form1 and $form2 use the same ChoiceList
$this->assertSame(
$form1->getConfig()->getOption('choice_list'),
$form2->getConfig()->getOption('choice_list')
);
// $form3 doesn't, but used to use the same when using json_encode()
// instead of serialize for the hashing algorithm
$this->assertNotSame(
$form1->getConfig()->getOption('choice_list'),
$form3->getConfig()->getOption('choice_list')
);
}
public function testInitializeWithDefaultObjectChoice()
{
$obj1 = (object) array('value' => 'a', 'label' => 'A');