Mercurial > cpython-lru_cache-weakref
diff Lib/test/test_float.py @ 57503:930aeded900d legacy-trunk
Issue #3382: Make '%F' and float.__format__('F') convert results to upper case. Much of the patch came from Mark Dickinson.
| author | Eric Smith <eric@trueblade.com> |
|---|---|
| date | Sun, 29 Nov 2009 17:40:57 +0000 |
| parents | b9b683eedee1 |
| children | 0ff47034c691 |
line wrap: on
line diff
--- a/Lib/test/test_float.py Sat Nov 28 16:32:27 2009 +0000 +++ b/Lib/test/test_float.py Sun Nov 29 17:40:57 2009 +0000 @@ -309,6 +309,14 @@ self.assertRaises(ValueError, format, 1e-100, format_spec) self.assertRaises(ValueError, format, -1e-100, format_spec) + # issue 3382: 'f' and 'F' with inf's and nan's + self.assertEqual('{0:f}'.format(INF), 'inf') + self.assertEqual('{0:F}'.format(INF), 'INF') + self.assertEqual('{0:f}'.format(-INF), '-inf') + self.assertEqual('{0:F}'.format(-INF), '-INF') + self.assertEqual('{0:f}'.format(NAN), 'nan') + self.assertEqual('{0:F}'.format(NAN), 'NAN') + @unittest.skipUnless(float.__getformat__("double").startswith("IEEE"), "test requires IEEE 754 doubles") def test_format_testfile(self): @@ -321,8 +329,10 @@ lhs, rhs = map(str.strip, line.split('->')) fmt, arg = lhs.split() - self.assertEqual(fmt % float(arg), rhs) - self.assertEqual(fmt % -float(arg), '-' + rhs) + arg = float(arg) + self.assertEqual(fmt % arg, rhs) + if not math.isnan(arg) and copysign(1.0, arg) > 0.0: + self.assertEqual(fmt % -arg, '-' + rhs) def test_issue5864(self): self.assertEquals(format(123.456, '.4'), '123.5')
