--- a/Lib/test/test_email/test_utils.py +++ b/Lib/test/test_email/test_utils.py @@ -136,5 +136,25 @@ t1 = utils.localtime(t0) self.assertEqual(t1.tzname(), 'EET') +class FormatDateTests(unittest.TestCase): + + @test.support.run_with_tz('Europe/Moscow') + def test_formatdate(self): + timeval = time.mktime((2014, 12, 1, 18, 0, 0, 0, 335, 0)) + string = utils.formatdate(timeval, localtime=False, usegmt=False) + self.assertEqual(string, 'Mon, 01 Dec 2014 15:00:00 -0000') + string = utils.formatdate(timeval, localtime=False, usegmt=True) + self.assertEqual(string, 'Mon, 01 Dec 2014 15:00:00 GMT') + + @test.support.run_with_tz('Europe/Moscow') + def test_formatdate_with_localtime(self): + timeval = time.mktime((2014, 1, 1, 18, 0, 0, 2, 1, 0)) + string = utils.formatdate(timeval, localtime=True) + self.assertEqual(string, 'Wed, 01 Jan 2014 18:00:00 +0400') + # Europe/Moscow moved from +0400 to +0300 during 2014 + timeval = time.mktime((2014, 12, 1, 18, 0, 0, 0, 335, 0)) + string = utils.formatdate(timeval, localtime=True) + self.assertEqual(string, 'Mon, 01 Dec 2014 18:00:00 +0300') + if __name__ == '__main__': unittest.main()