merged branch bschussek/issue3161 (PR #3253)
Commits
-------
9a4e22e
[Form] Disallowed infinity in NumberToLocalizedStringTransformer
Discussion
----------
[Form] Disallowed infinity in NumberToLocalizedStringTransformer
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #3161
Todo: -
![Travis Build Status](https://secure.travis-ci.org/bschussek/symfony.png?branch=issue3161)
This commit is contained in:
commit
0914a38e74
@ -114,6 +114,10 @@ class NumberToLocalizedStringTransformer implements DataTransformerInterface
|
||||
throw new TransformationFailedException($formatter->getErrorMessage());
|
||||
}
|
||||
|
||||
if ($value >= INF || $value <= -INF) {
|
||||
throw new TransformationFailedException('I don\'t have a clear idea what infinity looks like');
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
@ -90,4 +90,24 @@ class IntegerToLocalizedStringTransformerTest extends LocalizedTestCase
|
||||
|
||||
$transformer->reverseTransform('nan');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
|
||||
*/
|
||||
public function testReverseTransformDisallowsInfinity()
|
||||
{
|
||||
$transformer = new IntegerToLocalizedStringTransformer();
|
||||
|
||||
$transformer->reverseTransform('∞');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
|
||||
*/
|
||||
public function testReverseTransformDisallowsNegativeInfinity()
|
||||
{
|
||||
$transformer = new IntegerToLocalizedStringTransformer();
|
||||
|
||||
$transformer->reverseTransform('-∞');
|
||||
}
|
||||
}
|
||||
|
@ -144,4 +144,34 @@ class NumberToLocalizedStringTransformerTest extends LocalizedTestCase
|
||||
|
||||
$transformer->reverseTransform('nan');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
|
||||
*/
|
||||
public function testReverseTransformDisallowsInfinity()
|
||||
{
|
||||
$transformer = new NumberToLocalizedStringTransformer();
|
||||
|
||||
$transformer->reverseTransform('∞');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
|
||||
*/
|
||||
public function testReverseTransformDisallowsInfinity2()
|
||||
{
|
||||
$transformer = new NumberToLocalizedStringTransformer();
|
||||
|
||||
$transformer->reverseTransform('∞,123');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Symfony\Component\Form\Exception\TransformationFailedException
|
||||
*/
|
||||
public function testReverseTransformDisallowsNegativeInfinity()
|
||||
{
|
||||
$transformer = new NumberToLocalizedStringTransformer();
|
||||
|
||||
$transformer->reverseTransform('-∞');
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user