def test_when_has_normalize(self): class tzz(tzinfo): raises = None def normalize(self, dt, **kwargs): self.normalized = True if self.raises and kwargs and kwargs.get('is_dst') is None: self.raised = True raise self.raises return 1 # needed by min() in Python 3 (None not hashable) tz = tzz() localize(make_aware(datetime.utcnow(), tz), tz) assert tz.normalized tz2 = tzz() tz2.raises = AmbiguousTimeError() localize(make_aware(datetime.utcnow(), tz2), tz2) assert tz2.normalized assert tz2.raised tz3 = tzz() tz3.raises = TypeError() localize(make_aware(datetime.utcnow(), tz3), tz3) assert tz3.normalized assert tz3.raised
def test_when_has_normalize(self): class tzz(tzinfo): raises = None def utcoffset(self, dt): return None def normalize(self, dt, **kwargs): self.normalized = True if self.raises and kwargs and kwargs.get('is_dst') is None: self.raised = True raise self.raises return 1 # needed by min() in Python 3 (None not hashable) tz = tzz() localize(make_aware(datetime.utcnow(), tz), tz) assert tz.normalized tz2 = tzz() tz2.raises = AmbiguousTimeError() localize(make_aware(datetime.utcnow(), tz2), tz2) assert tz2.normalized assert tz2.raised tz3 = tzz() tz3.raises = TypeError() localize(make_aware(datetime.utcnow(), tz3), tz3) assert tz3.normalized assert tz3.raised
def test_to_local(self): self.assertTrue( timezone.to_local(make_aware(datetime.utcnow(), timezone.utc)), ) self.assertTrue( timezone.to_local(datetime.utcnow()) )
def test_tz_without_normalize(self): class tzz(tzinfo): def utcoffset(self, dt): return None # Mock no utcoffset specified tz = tzz() assert not hasattr(tz, 'normalize') assert localize(make_aware(datetime.utcnow(), tz), tz)
def test_when_has_localize(self): class tzz(tzinfo): raises = False def localize(self, dt, is_dst=None): self.localized = True if self.raises and is_dst is None: self.raised = True raise AmbiguousTimeError() return 1 # needed by min() in Python 3 (None not hashable) tz = tzz() make_aware(datetime.utcnow(), tz) assert tz.localized tz2 = tzz() tz2.raises = True make_aware(datetime.utcnow(), tz2) assert tz2.localized assert tz2.raised
def test_tz_without_localize(self): tz = tzinfo() assert not hasattr(tz, 'localize') wtz = make_aware(datetime.utcnow(), tz) assert wtz.tzinfo == tz
def test_to_local_fallback(self): assert timezone.to_local_fallback( make_aware(datetime.utcnow(), timezone.utc)) assert timezone.to_local_fallback(datetime.utcnow())
def test_tz_without_normalize(self): tz = tzinfo() assert not hasattr(tz, 'normalize') assert localize(make_aware(datetime.utcnow(), tz), tz)
def test_tz_without_normalize(self): tz = tzinfo() self.assertFalse(hasattr(tz, 'normalize')) self.assertTrue(localize(make_aware(datetime.utcnow(), tz), tz))
def test_tz_without_localize(self): tz = tzinfo() self.assertFalse(hasattr(tz, 'localize')) wtz = make_aware(datetime.utcnow(), tz) self.assertEqual(wtz.tzinfo, tz)