mirror of
https://github.com/django/django.git
synced 2025-09-26 12:09:19 +00:00
[1.5.x] Fixed #19708 -- Exception in timezone.override(None).
Thanks rafales.
Backport of 9a4a1ce
.
This commit is contained in:
parent
73bb9664da
commit
db49b6d2b2
2 changed files with 34 additions and 3 deletions
|
@ -3,9 +3,14 @@ import datetime
|
|||
import pickle
|
||||
from django.test.utils import override_settings
|
||||
from django.utils import timezone
|
||||
from django.utils.tzinfo import FixedOffset
|
||||
from django.utils import unittest
|
||||
|
||||
|
||||
EAT = FixedOffset(180) # Africa/Nairobi
|
||||
ICT = FixedOffset(420) # Asia/Bangkok
|
||||
|
||||
|
||||
class TimezoneTests(unittest.TestCase):
|
||||
|
||||
def test_localtime(self):
|
||||
|
@ -20,6 +25,31 @@ class TimezoneTests(unittest.TestCase):
|
|||
with override_settings(USE_TZ=False):
|
||||
self.assertTrue(timezone.is_naive(timezone.now()))
|
||||
|
||||
def test_override(self):
|
||||
default = timezone.get_default_timezone()
|
||||
try:
|
||||
timezone.activate(ICT)
|
||||
|
||||
with timezone.override(EAT):
|
||||
self.assertIs(EAT, timezone.get_current_timezone())
|
||||
self.assertIs(ICT, timezone.get_current_timezone())
|
||||
|
||||
with timezone.override(None):
|
||||
self.assertIs(default, timezone.get_current_timezone())
|
||||
self.assertIs(ICT, timezone.get_current_timezone())
|
||||
|
||||
timezone.deactivate()
|
||||
|
||||
with timezone.override(EAT):
|
||||
self.assertIs(EAT, timezone.get_current_timezone())
|
||||
self.assertIs(default, timezone.get_current_timezone())
|
||||
|
||||
with timezone.override(None):
|
||||
self.assertIs(default, timezone.get_current_timezone())
|
||||
self.assertIs(default, timezone.get_current_timezone())
|
||||
finally:
|
||||
timezone.deactivate()
|
||||
|
||||
def test_copy(self):
|
||||
self.assertIsInstance(copy.copy(timezone.UTC()), timezone.UTC)
|
||||
self.assertIsInstance(copy.copy(timezone.LocalTimezone()), timezone.LocalTimezone)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue