def test_without_timezones(self): dt = parse_rfc2822date("Tue, 24 Oct 2017 10:11:35 -0000") # "no timezone information" self.assertEqual(dt.isoformat(), "2017-10-24T10:11:35") self.assertIsNone(dt.tzinfo) # naive (compare with +0000 version in previous test) dt = parse_rfc2822date("Tue, 24 Oct 2017 10:11:35") self.assertEqual(dt.isoformat(), "2017-10-24T10:11:35") self.assertIsNone(dt.tzinfo) # naive
def test_with_timezones(self): dt = parse_rfc2822date("Tue, 24 Oct 2017 10:11:35 -0700") self.assertEqual(dt.isoformat(), "2017-10-24T10:11:35-07:00") self.assertIsNotNone(dt.utcoffset()) # aware dt = parse_rfc2822date("Tue, 24 Oct 2017 10:11:35 +0700") self.assertEqual(dt.isoformat(), "2017-10-24T10:11:35+07:00") self.assertIsNotNone(dt.utcoffset()) # aware dt = parse_rfc2822date("Tue, 24 Oct 2017 10:11:35 +0000") self.assertEqual(dt.isoformat(), "2017-10-24T10:11:35+00:00") self.assertIsNotNone(dt.tzinfo) # aware
def test_unparseable_dates(self): self.assertIsNone(parse_rfc2822date("")) self.assertIsNone(parse_rfc2822date(" ")) self.assertIsNone(parse_rfc2822date("garbage")) self.assertIsNone(parse_rfc2822date("Tue, 24 Oct")) self.assertIsNone(parse_rfc2822date("Lug, 24 Nod 2017 10:11:35 +0000")) self.assertIsNone(parse_rfc2822date("Tue, 99 Oct 9999 99:99:99 +9999"))