summaryrefslogtreecommitdiff
path: root/tests/settings_tests
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2018-10-02 20:45:19 -0700
committerTim Graham <timograham@gmail.com>2018-10-15 17:15:41 -0400
commit0cd465b63aa7c03a3d14bd5fd6543628d585f8da (patch)
tree99adcb585573d78d5cc01c9b9466073dbe988449 /tests/settings_tests
parent99d4fc18bdb8110147165531d348be53529eece5 (diff)
downloaddjango-0cd465b63aa7c03a3d14bd5fd6543628d585f8da.tar.gz
Fixed #29817 -- Deprecated settings.FILE_CHARSET.
Diffstat (limited to 'tests/settings_tests')
-rw-r--r--tests/settings_tests/test_file_charset.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/settings_tests/test_file_charset.py b/tests/settings_tests/test_file_charset.py
new file mode 100644
index 0000000000..1be96a26d2
--- /dev/null
+++ b/tests/settings_tests/test_file_charset.py
@@ -0,0 +1,40 @@
+import sys
+from types import ModuleType
+
+from django.conf import FILE_CHARSET_DEPRECATED_MSG, Settings, settings
+from django.test import SimpleTestCase, ignore_warnings
+from django.utils.deprecation import RemovedInDjango31Warning
+
+
+class DeprecationTests(SimpleTestCase):
+ msg = FILE_CHARSET_DEPRECATED_MSG
+
+ def test_override_settings_warning(self):
+ with self.assertRaisesMessage(RemovedInDjango31Warning, self.msg):
+ with self.settings(FILE_CHARSET='latin1'):
+ pass
+
+ def test_settings_init_warning(self):
+ settings_module = ModuleType('fake_settings_module')
+ settings_module.FILE_CHARSET = 'latin1'
+ settings_module.SECRET_KEY = 'ABC'
+ sys.modules['fake_settings_module'] = settings_module
+ try:
+ with self.assertRaisesMessage(RemovedInDjango31Warning, self.msg):
+ Settings('fake_settings_module')
+ finally:
+ del sys.modules['fake_settings_module']
+
+ def test_access_warning(self):
+ with self.assertRaisesMessage(RemovedInDjango31Warning, self.msg):
+ settings.FILE_CHARSET
+ # Works a second time.
+ with self.assertRaisesMessage(RemovedInDjango31Warning, self.msg):
+ settings.FILE_CHARSET
+
+ @ignore_warnings(category=RemovedInDjango31Warning)
+ def test_access(self):
+ with self.settings(FILE_CHARSET='latin1'):
+ self.assertEqual(settings.FILE_CHARSET, 'latin1')
+ # Works a second time.
+ self.assertEqual(settings.FILE_CHARSET, 'latin1')