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:
Fabien Potencier 2012-02-02 12:27:10 +01:00
commit 0914a38e74
3 changed files with 54 additions and 0 deletions

View File

@ -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;
}

View File

@ -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('-∞');
}
}

View File

@ -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('-∞');
}
}