4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Form\Tests\Extension\Core\Type
;
14 use Symfony\Component\Form\Extension\Core\View\ChoiceView
;
15 use Symfony\Component\Intl\Util\IntlTestHelper
;
17 class CountryTypeTest
extends TypeTestCase
19 protected function setUp()
21 IntlTestHelper
::requireIntl($this);
26 public function testCountriesAreSelectable()
28 $form = $this->factory
->create('country');
29 $view = $form->createView();
30 $choices = $view->vars
['choices'];
32 // Don't check objects for identity
33 $this->assertContains(new ChoiceView('DE', 'DE', 'Germany'), $choices, '', false, false);
34 $this->assertContains(new ChoiceView('GB', 'GB', 'United Kingdom'), $choices, '', false, false);
35 $this->assertContains(new ChoiceView('US', 'US', 'United States'), $choices, '', false, false);
36 $this->assertContains(new ChoiceView('FR', 'FR', 'France'), $choices, '', false, false);
37 $this->assertContains(new ChoiceView('MY', 'MY', 'Malaysia'), $choices, '', false, false);
40 public function testUnknownCountryIsNotIncluded()
42 $form = $this->factory
->create('country', 'country');
43 $view = $form->createView();
44 $choices = $view->vars
['choices'];
46 foreach ($choices as $choice) {
47 if ('ZZ' === $choice->value
) {
48 $this->fail('Should not contain choice "ZZ"');