summaryrefslogtreecommitdiff
path: root/Lib/test
diff options
context:
space:
mode:
authorRobert Collins <rbtcollins@hp.com>2015-08-01 08:18:22 +1200
committerRobert Collins <rbtcollins@hp.com>2015-08-01 08:18:22 +1200
commit948f339c669524d833dcb0f199e7ee937365c366 (patch)
treec2da3bbb4bd851b1e7227378af250b9f2cc3a4fd /Lib/test
parentdb75e0dbc154cf1f0ed0bbc70e591e9c88b71426 (diff)
downloadcpython-948f339c669524d833dcb0f199e7ee937365c366.tar.gz
Issue #22932: Fix timezones in email.utils.formatdate.
Patch from Dmitry Shachnev.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_email/test_utils.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/Lib/test/test_email/test_utils.py b/Lib/test/test_email/test_utils.py
index 4abdc04f34..1e9cd63e52 100644
--- a/Lib/test/test_email/test_utils.py
+++ b/Lib/test/test_email/test_utils.py
@@ -136,5 +136,25 @@ class LocaltimeTests(unittest.TestCase):
t1 = utils.localtime(t0)
self.assertEqual(t1.tzname(), 'EET')
+class FormatDateTests(unittest.TestCase):
+
+ @test.support.run_with_tz('Europe/Minsk')
+ def test_formatdate(self):
+ timeval = time.mktime((2011, 12, 1, 18, 0, 0, 4, 335, 0))
+ string = utils.formatdate(timeval, localtime=False, usegmt=False)
+ self.assertEqual(string, 'Thu, 01 Dec 2011 15:00:00 -0000')
+ string = utils.formatdate(timeval, localtime=False, usegmt=True)
+ self.assertEqual(string, 'Thu, 01 Dec 2011 15:00:00 GMT')
+
+ @test.support.run_with_tz('Europe/Minsk')
+ def test_formatdate_with_localtime(self):
+ timeval = time.mktime((2011, 1, 1, 18, 0, 0, 6, 1, 0))
+ string = utils.formatdate(timeval, localtime=True)
+ self.assertEqual(string, 'Sat, 01 Jan 2011 18:00:00 +0200')
+ # Minsk moved from +0200 (with DST) to +0300 (without DST) in 2011
+ timeval = time.mktime((2011, 12, 1, 18, 0, 0, 4, 335, 0))
+ string = utils.formatdate(timeval, localtime=True)
+ self.assertEqual(string, 'Thu, 01 Dec 2011 18:00:00 +0300')
+
if __name__ == '__main__':
unittest.main()