8000 [Form] Disallowed infinity in NumberToLocalizedStringTransformer · symfony/symfony@9a4e22e · GitHub
[go: up one dir, main page]

Skip to content

Commit 9a4e22e

Browse files
committed
[Form] Disallowed infinity in NumberToLocalizedStringTransformer
1 parent baa63b8 commit 9a4e22e

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed

src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ public function reverseTransform($value)
114114
throw new TransformationFailedException($formatter->getErrorMessage());
115115
}
116116

117+
if ($value >= INF || $value <= -INF) {
118+
throw new TransformationFailedException('I don\'t have a clear idea what infinity looks like');
119+
}
120+
117121
return $value;
118122
}
119123

tests/Symfony/Tests/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,24 @@ public function testReverseTransformDisallowsNaN2()
9090

9191
$transformer->reverseTransform('nan');
9292
}
93+
94+
/**
95+
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
96+
*/
97+
public function testReverseTransformDisallowsInfinity()
98+
{
99+
$transformer = new IntegerToLocalizedStringTransformer();
100+
101+
$transformer->reverseTransform('');
102+
}
103+
104+
/**
105+
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
106+
*/
107+
public function testReverseTransformDisallowsNegativeInfinity()
108+
{
109+
$transformer = new IntegerToLocalizedStringTransformer();
110+
111+
$transformer->reverseTransform('-∞');
112+
}
93113
}

tests/Symfony/Tests/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,4 +144,34 @@ public function testReverseTransformDisallowsNaN2()
144144

145145
$transformer->reverseTransform('nan');
146146
}
147+
148+
/**
149+
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
150+
*/
151+
public function testReverseTransformDisallowsInfinity()
152+
{
153+
$transformer = new NumberToLocalizedStringTransformer();
154+
155+
$transformer->reverseTransform('');
156+
}
157+
158+
/**
159+
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
160+
*/
161+
public function testReverseTransformDisallowsInfinity2()
162+
{
163+
$transformer = new NumberToLocalizedStringTransformer();
164+
165+
$transformer->reverseTransform('∞,123');
166+
}
167+
168+
/**
169+
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
170+
*/
171+
public function testReverseTransformDisallowsNegativeInfinity()
172+
{
173+
$transformer = new NumberToLocalizedStringTransformer();
174+
175+
$transformer->reverseTransform('-∞');
176+
}
147177
}

0 commit comments

Comments
 (0)
0