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());
|
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;
|
return $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,4 +90,24 @@ class IntegerToLocalizedStringTransformerTest extends LocalizedTestCase
|
|||||||
|
|
||||||
$transformer->reverseTransform('nan');
|
$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');
|
$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