@@ -58,6 +58,15 @@ class NormalizerFormatter implements FormatterInterface
protected function normalize($data)
{
if (null === $data || is_scalar($data)) {
+ if (is_float($data)) {
+ if (is_infinite($data)) {
+ return ($data > 0 ? '' : '-') . 'INF';
+ }
+ if (is_nan($data)) {
+ return 'NaN';
+
return $data;
}
@@ -28,6 +28,9 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
'context' => array(
'foo' => 'bar',
'baz' => 'qux',
+ 'inf' => INF,
+ '-inf' => -INF,
+ 'nan' => acos(4),
),
));
@@ -45,6 +48,9 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
+ 'inf' => 'INF',
+ '-inf' => '-INF',
+ 'nan' => 'NaN',
)
), $formatted);