summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_decimal.py
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2009-09-07 18:04:58 (GMT)
committerMark Dickinson <dickinsm@gmail.com>2009-09-07 18:04:58 (GMT)
commit968f1690d39e8c825f9af1b634ff5b5a9517c290 (patch)
tree83dc220e8505efdf3738039831b8b334738740db /Lib/test/test_decimal.py
parent491ea55f2866cc0b4fee036069fc07748920b0cf (diff)
downloadcpython-968f1690d39e8c825f9af1b634ff5b5a9517c290.zip
cpython-968f1690d39e8c825f9af1b634ff5b5a9517c290.tar.gz
cpython-968f1690d39e8c825f9af1b634ff5b5a9517c290.tar.bz2
#Issue 6795: Fix infinite recursion in long(Decimal('nan')); change int(Decimal('nan')) to raise ValueError instead of either returning NaN or raising InvalidContext.
Diffstat (limited to 'Lib/test/test_decimal.py')
-rw-r--r--Lib/test/test_decimal.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index f7f023d..50a855e 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -1489,6 +1489,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)