|
@@ -77,6 +77,7 @@ class FunctionTests(SimpleTestCase):
|
|
|
self.assertEqual(floatformat(1.5e-15, 20), "0.00000000000000150000")
|
|
|
self.assertEqual(floatformat(1.5e-15, -20), "0.00000000000000150000")
|
|
|
self.assertEqual(floatformat(1.00000000000000015, 16), "1.0000000000000002")
|
|
|
+ self.assertEqual(floatformat("1e199"), "1" + "0" * 199)
|
|
|
|
|
|
def test_force_grouping(self):
|
|
|
with translation.override("en"):
|
|
@@ -134,6 +135,22 @@ class FunctionTests(SimpleTestCase):
|
|
|
self.assertEqual(floatformat(pos_inf), "inf")
|
|
|
self.assertEqual(floatformat(neg_inf), "-inf")
|
|
|
self.assertEqual(floatformat(pos_inf / pos_inf), "nan")
|
|
|
+ self.assertEqual(floatformat("inf"), "inf")
|
|
|
+ self.assertEqual(floatformat("NaN"), "NaN")
|
|
|
+
|
|
|
+ def test_too_many_digits_to_render(self):
|
|
|
+ cases = [
|
|
|
+ "1e200",
|
|
|
+ "1E200",
|
|
|
+ "1E10000000000000000",
|
|
|
+ "-1E10000000000000000",
|
|
|
+ "1e10000000000000000",
|
|
|
+ "-1e10000000000000000",
|
|
|
+ "1" + "0" * 1_000_000,
|
|
|
+ ]
|
|
|
+ for value in cases:
|
|
|
+ with self.subTest(value=value):
|
|
|
+ self.assertEqual(floatformat(value), value)
|
|
|
|
|
|
def test_float_dunder_method(self):
|
|
|
class FloatWrapper:
|