예제 #1
0
    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)
        self.assertTrue(tz.normalized)

        tz2 = tzz()
        tz2.raises = AmbiguousTimeError()
        localize(make_aware(datetime.utcnow(), tz2), tz2)
        self.assertTrue(tz2.normalized)
        self.assertTrue(tz2.raised)

        tz3 = tzz()
        tz3.raises = TypeError()
        localize(make_aware(datetime.utcnow(), tz3), tz3)
        self.assertTrue(tz3.normalized)
        self.assertTrue(tz3.raised)
예제 #2
0
    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)
        self.assertTrue(tz.normalized)

        tz2 = tzz()
        tz2.raises = AmbiguousTimeError()
        localize(make_aware(datetime.utcnow(), tz2), tz2)
        self.assertTrue(tz2.normalized)
        self.assertTrue(tz2.raised)

        tz3 = tzz()
        tz3.raises = TypeError()
        localize(make_aware(datetime.utcnow(), tz3), tz3)
        self.assertTrue(tz3.normalized)
        self.assertTrue(tz3.raised)
예제 #3
0
 def test_to_local(self):
     self.assertTrue(
         timezone.to_local(make_aware(datetime.utcnow(), timezone.utc)),
     )
     self.assertTrue(
         timezone.to_local(datetime.utcnow())
     )
예제 #4
0
 def test_to_local(self):
     self.assertTrue(
         timezone.to_local(make_aware(datetime.utcnow(), timezone.utc)),
     )
     self.assertTrue(
         timezone.to_local(datetime.utcnow())
     )
예제 #5
0
    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)
        self.assertTrue(tz.localized)

        tz2 = tzz()
        tz2.raises = True
        make_aware(datetime.utcnow(), tz2)
        self.assertTrue(tz2.localized)
        self.assertTrue(tz2.raised)
예제 #6
0
    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()

        tz = tzz()
        make_aware(datetime.utcnow(), tz)
        self.assertTrue(tz.localized)

        tz2 = tzz()
        tz2.raises = True
        make_aware(datetime.utcnow(), tz2)
        self.assertTrue(tz2.localized)
        self.assertTrue(tz2.raised)
예제 #7
0
 def test_tz_without_normalize(self):
     tz = tzinfo()
     self.assertFalse(hasattr(tz, 'normalize'))
     self.assertTrue(localize(make_aware(datetime.utcnow(), tz), tz))
예제 #8
0
 def test_tz_without_localize(self):
     tz = tzinfo()
     self.assertFalse(hasattr(tz, 'localize'))
     wtz = make_aware(datetime.utcnow(), tz)
     self.assertEqual(wtz.tzinfo, tz)
예제 #9
0
 def maybe_make_aware(self, dt):
     if not is_naive(dt):
         return dt
     return make_aware(dt, self.tz)
예제 #10
0
 def test_tz_without_normalize(self):
     tz = tzinfo()
     self.assertFalse(hasattr(tz, 'normalize'))
     self.assertTrue(localize(make_aware(datetime.utcnow(), tz), tz))
예제 #11
0
 def test_tz_without_localize(self):
     tz = tzinfo()
     self.assertFalse(hasattr(tz, 'localize'))
     wtz = make_aware(datetime.utcnow(), tz)
     self.assertEqual(wtz.tzinfo, tz)