diff options
Diffstat (limited to 'vendor/symfony/form/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php')
-rw-r--r-- | vendor/symfony/form/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/vendor/symfony/form/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php b/vendor/symfony/form/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php new file mode 100644 index 00000000..104941c9 --- /dev/null +++ b/vendor/symfony/form/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php | |||
@@ -0,0 +1,114 @@ | |||
1 | <?php | ||
2 | |||
3 | /* | ||
4 | * This file is part of the Symfony package. | ||
5 | * | ||
6 | * (c) Fabien Potencier <fabien@symfony.com> | ||
7 | * | ||
8 | * For the full copyright and license information, please view the LICENSE | ||
9 | * file that was distributed with this source code. | ||
10 | */ | ||
11 | |||
12 | namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; | ||
13 | |||
14 | use Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer; | ||
15 | use Symfony\Component\Intl\Util\IntlTestHelper; | ||
16 | |||
17 | class PercentToLocalizedStringTransformerTest extends \PHPUnit_Framework_TestCase | ||
18 | { | ||
19 | protected function setUp() | ||
20 | { | ||
21 | parent::setUp(); | ||
22 | |||
23 | // Since we test against "de_AT", we need the full implementation | ||
24 | IntlTestHelper::requireFullIntl($this); | ||
25 | |||
26 | \Locale::setDefault('de_AT'); | ||
27 | } | ||
28 | |||
29 | public function testTransform() | ||
30 | { | ||
31 | $transformer = new PercentToLocalizedStringTransformer(); | ||
32 | |||
33 | $this->assertEquals('10', $transformer->transform(0.1)); | ||
34 | $this->assertEquals('15', $transformer->transform(0.15)); | ||
35 | $this->assertEquals('12', $transformer->transform(0.1234)); | ||
36 | $this->assertEquals('200', $transformer->transform(2)); | ||
37 | } | ||
38 | |||
39 | public function testTransformEmpty() | ||
40 | { | ||
41 | $transformer = new PercentToLocalizedStringTransformer(); | ||
42 | |||
43 | $this->assertEquals('', $transformer->transform(null)); | ||
44 | } | ||
45 | |||
46 | public function testTransformWithInteger() | ||
47 | { | ||
48 | $transformer = new PercentToLocalizedStringTransformer(null, 'integer'); | ||
49 | |||
50 | $this->assertEquals('0', $transformer->transform(0.1)); | ||
51 | $this->assertEquals('1', $transformer->transform(1)); | ||
52 | $this->assertEquals('15', $transformer->transform(15)); | ||
53 | $this->assertEquals('16', $transformer->transform(15.9)); | ||
54 | } | ||
55 | |||
56 | public function testTransformWithPrecision() | ||
57 | { | ||
58 | $transformer = new PercentToLocalizedStringTransformer(2); | ||
59 | |||
60 | $this->assertEquals('12,34', $transformer->transform(0.1234)); | ||
61 | } | ||
62 | |||
63 | public function testReverseTransform() | ||
64 | { | ||
65 | $transformer = new PercentToLocalizedStringTransformer(); | ||
66 | |||
67 | $this->assertEquals(0.1, $transformer->reverseTransform('10')); | ||
68 | $this->assertEquals(0.15, $transformer->reverseTransform('15')); | ||
69 | $this->assertEquals(0.12, $transformer->reverseTransform('12')); | ||
70 | $this->assertEquals(2, $transformer->reverseTransform('200')); | ||
71 | } | ||
72 | |||
73 | public function testReverseTransformEmpty() | ||
74 | { | ||
75 | $transformer = new PercentToLocalizedStringTransformer(); | ||
76 | |||
77 | $this->assertNull($transformer->reverseTransform('')); | ||
78 | } | ||
79 | |||
80 | public function testReverseTransformWithInteger() | ||
81 | { | ||
82 | $transformer = new PercentToLocalizedStringTransformer(null, 'integer'); | ||
83 | |||
84 | $this->assertEquals(10, $transformer->reverseTransform('10')); | ||
85 | $this->assertEquals(15, $transformer->reverseTransform('15')); | ||
86 | $this->assertEquals(12, $transformer->reverseTransform('12')); | ||
87 | $this->assertEquals(200, $transformer->reverseTransform('200')); | ||
88 | } | ||
89 | |||
90 | public function testReverseTransformWithPrecision() | ||
91 | { | ||
92 | $transformer = new PercentToLocalizedStringTransformer(2); | ||
93 | |||
94 | $this->assertEquals(0.1234, $transformer->reverseTransform('12,34')); | ||
95 | } | ||
96 | |||
97 | public function testTransformExpectsNumeric() | ||
98 | { | ||
99 | $transformer = new PercentToLocalizedStringTransformer(); | ||
100 | |||
101 | $this->setExpectedException('Symfony\Component\Form\Exception\TransformationFailedException'); | ||
102 | |||
103 | $transformer->transform('foo'); | ||
104 | } | ||
105 | |||
106 | public function testReverseTransformExpectsString() | ||
107 | { | ||
108 | $transformer = new PercentToLocalizedStringTransformer(); | ||
109 | |||
110 | $this->setExpectedException('Symfony\Component\Form\Exception\TransformationFailedException'); | ||
111 | |||
112 | $transformer->reverseTransform(1); | ||
113 | } | ||
114 | } | ||