mirror of https://github.com/python/cpython
test_formatdate(), test_formatdate_zoneoffsets(): Two changes. First,
use the correct way to test for epoch, by looking at the year component of gmtime(0). Add clause for Unix epoch and Mac epoch (Tim, what is Windows epoch?). Also, get rid of the strptime() test, it was way too problematic given that strptime() is missing on many platforms and issues with locales. Instead, simply test that formatdate() gets the numeric timezone calculation correct for the altzone and timezone.
This commit is contained in:
parent
cd45a36959
commit
75a40fcc3a
|
@ -921,12 +921,12 @@ class TestMiscellaneous(unittest.TestCase):
|
||||||
|
|
||||||
def test_formatdate(self):
|
def test_formatdate(self):
|
||||||
now = 1005327232.109884
|
now = 1005327232.109884
|
||||||
time0 = time.ctime(0)
|
epoch = time.gmtime(0)[0]
|
||||||
# When does the epoch start?
|
# When does the epoch start?
|
||||||
if time0 == 'Wed Dec 31 19:00:00 1969':
|
if epoch == 1970:
|
||||||
# traditional Unix epoch
|
# traditional Unix epoch
|
||||||
matchdate = 'Fri, 09 Nov 2001 17:33:52 -0000'
|
matchdate = 'Fri, 09 Nov 2001 17:33:52 -0000'
|
||||||
elif time0 == 'Fri Jan 1 00:00:00 1904':
|
elif epoch == 1904:
|
||||||
# Mac epoch
|
# Mac epoch
|
||||||
matchdate = 'Sat, 09 Nov 1935 16:33:52 -0000'
|
matchdate = 'Sat, 09 Nov 1935 16:33:52 -0000'
|
||||||
else:
|
else:
|
||||||
|
@ -934,20 +934,19 @@ class TestMiscellaneous(unittest.TestCase):
|
||||||
gdate = Utils.formatdate(now)
|
gdate = Utils.formatdate(now)
|
||||||
ldate = Utils.formatdate(now, localtime=1)
|
ldate = Utils.formatdate(now, localtime=1)
|
||||||
self.assertEqual(gdate, matchdate)
|
self.assertEqual(gdate, matchdate)
|
||||||
# It's a little tougher to test for localtime, but we'll try. Skip if
|
|
||||||
# we don't have strptime().
|
|
||||||
if hasattr(time, 'strptime'):
|
|
||||||
gtime = time.strptime(gdate.split()[4], '%H:%M:%S')
|
|
||||||
ltime = time.strptime(ldate.split()[4], '%H:%M:%S')
|
|
||||||
zone = ldate.split()[5]
|
|
||||||
offset = int(zone[:3]) * -3600 + int(zone[-2:])
|
|
||||||
if time.daylight and time.localtime(now)[-1]:
|
|
||||||
toff = time.altzone
|
|
||||||
else:
|
|
||||||
toff = time.timezone
|
|
||||||
self.assertEqual(offset, toff)
|
|
||||||
|
|
||||||
def test_parsedate(self):
|
def test_formatdate_zoneoffsets(self):
|
||||||
|
now = 1005327232.109884
|
||||||
|
ldate = Utils.formatdate(now, localtime=1)
|
||||||
|
zone = ldate.split()[5]
|
||||||
|
offset = int(zone[:3]) * -3600 + int(zone[-2:]) * -60
|
||||||
|
if time.daylight and time.localtime(now)[-1]:
|
||||||
|
toff = time.altzone
|
||||||
|
else:
|
||||||
|
toff = time.timezone
|
||||||
|
self.assertEqual(offset, toff)
|
||||||
|
|
||||||
|
def test_parsedate_none(self):
|
||||||
self.assertEqual(Utils.parsedate(''), None)
|
self.assertEqual(Utils.parsedate(''), None)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue