summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>2010-05-27 20:55:27 (GMT)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>2010-05-27 20:55:27 (GMT)
commit9292ee06672e88172f6d2724eecbfd95bb69cc24 (patch)
treed5f24812db3c8aba7563c2919f0fc419332cae93 /Lib
parent3bfd0311f9cbea2e0b919689dd6076a1ade8120f (diff)
downloadcpython-9292ee06672e88172f6d2724eecbfd95bb69cc24.zip
cpython-9292ee06672e88172f6d2724eecbfd95bb69cc24.tar.gz
cpython-9292ee06672e88172f6d2724eecbfd95bb69cc24.tar.bz2
Issue #7150: Raise OverflowError if the result of adding or subtracting
timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_datetime.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py
index 671c259..905f7ef 100644
--- a/Lib/test/test_datetime.py
+++ b/Lib/test/test_datetime.py
@@ -720,15 +720,16 @@ class TestDate(HarmlessMixedComparison, unittest.TestCase):
def test_overflow(self):
tiny = self.theclass.resolution
- dt = self.theclass.min + tiny
- dt -= tiny # no problem
- self.assertRaises(OverflowError, dt.__sub__, tiny)
- self.assertRaises(OverflowError, dt.__add__, -tiny)
-
- dt = self.theclass.max - tiny
- dt += tiny # no problem
- self.assertRaises(OverflowError, dt.__add__, tiny)
- self.assertRaises(OverflowError, dt.__sub__, -tiny)
+ for delta in [tiny, timedelta(1), timedelta(2)]:
+ dt = self.theclass.min + delta
+ dt -= delta # no problem
+ self.assertRaises(OverflowError, dt.__sub__, delta)
+ self.assertRaises(OverflowError, dt.__add__, -delta)
+
+ dt = self.theclass.max - delta
+ dt += delta # no problem
+ self.assertRaises(OverflowError, dt.__add__, delta)
+ self.assertRaises(OverflowError, dt.__sub__, -delta)
def test_fromtimestamp(self):
import time