Merged revisions 74708 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74708 | mark.dickinson | 2009-09-07 19:04:58 +0100 (Mon, 07 Sep 2009) | 2 lines

  #Issue 6795:  Fix infinite recursion in long(Decimal('nan'));  change int(Decimal('nan')) to raise ValueError instead of either returning NaN or raising InvalidContext.
........
This commit is contained in:
Mark Dickinson 2009-09-08 19:22:18 +00:00
parent a081c676ad
commit c05b7890bc
3 changed files with 16 additions and 3 deletions

View file

@ -1372,6 +1372,16 @@ class DecimalPythonAPItests(unittest.TestCase):
r = d.to_integral(ROUND_DOWN)
self.assertEqual(Decimal(int(d)), r)
self.assertRaises(ValueError, int, Decimal('-nan'))
self.assertRaises(ValueError, int, Decimal('snan'))
self.assertRaises(OverflowError, int, Decimal('inf'))
self.assertRaises(OverflowError, int, Decimal('-inf'))
self.assertRaises(ValueError, long, Decimal('-nan'))
self.assertRaises(ValueError, long, Decimal('snan'))
self.assertRaises(OverflowError, long, Decimal('inf'))
self.assertRaises(OverflowError, long, Decimal('-inf'))
def test_trunc(self):
for x in range(-250, 250):
s = '%0.2f' % (x / 100.0)