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\DataTransformer
;
14 use Symfony\Component\Form\Extension\Core\DataTransformer\IntegerToLocalizedStringTransformer
;
15 use Symfony\Component\Intl\Util\IntlTestHelper
;
17 class IntegerToLocalizedStringTransformerTest
extends \PHPUnit_Framework_TestCase
19 protected function setUp()
23 // Since we test against "de_AT", we need the full implementation
24 IntlTestHelper
::requireFullIntl($this);
26 \Locale
::setDefault('de_AT');
29 public function testReverseTransform()
31 $transformer = new IntegerToLocalizedStringTransformer();
33 $this->assertEquals(1, $transformer->reverseTransform('1'));
34 $this->assertEquals(1, $transformer->reverseTransform('1,5'));
35 $this->assertEquals(1234, $transformer->reverseTransform('1234,5'));
36 $this->assertEquals(12345, $transformer->reverseTransform('12345,912'));
39 public function testReverseTransformEmpty()
41 $transformer = new IntegerToLocalizedStringTransformer();
43 $this->assertNull($transformer->reverseTransform(''));
46 public function testReverseTransformWithGrouping()
48 $transformer = new IntegerToLocalizedStringTransformer(null, true);
50 $this->assertEquals(1234, $transformer->reverseTransform('1.234,5'));
51 $this->assertEquals(12345, $transformer->reverseTransform('12.345,912'));
52 $this->assertEquals(1234, $transformer->reverseTransform('1234,5'));
53 $this->assertEquals(12345, $transformer->reverseTransform('12345,912'));
57 * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
59 public function testReverseTransformExpectsString()
61 $transformer = new IntegerToLocalizedStringTransformer();
63 $transformer->reverseTransform(1);
67 * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
69 public function testReverseTransformExpectsValidNumber()
71 $transformer = new IntegerToLocalizedStringTransformer();
73 $transformer->reverseTransform('foo');
77 * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
79 public function testReverseTransformDisallowsNaN()
81 $transformer = new IntegerToLocalizedStringTransformer();
83 $transformer->reverseTransform('NaN');
87 * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
89 public function testReverseTransformDisallowsNaN2()
91 $transformer = new IntegerToLocalizedStringTransformer();
93 $transformer->reverseTransform('nan');
97 * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
99 public function testReverseTransformDisallowsInfinity()
101 $transformer = new IntegerToLocalizedStringTransformer();
103 $transformer->reverseTransform('∞');
107 * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
109 public function testReverseTransformDisallowsNegativeInfinity()
111 $transformer = new IntegerToLocalizedStringTransformer();
113 $transformer->reverseTransform('-∞');