diff options
Diffstat (limited to 'tests/utils_tests')
| -rw-r--r-- | tests/utils_tests/test_encoding_deprecations.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/utils_tests/test_encoding_deprecations.py b/tests/utils_tests/test_encoding_deprecations.py new file mode 100644 index 0000000000..c775ce5f66 --- /dev/null +++ b/tests/utils_tests/test_encoding_deprecations.py @@ -0,0 +1,24 @@ +from django.test import SimpleTestCase, ignore_warnings +from django.utils.deprecation import RemovedInDjango40Warning +from django.utils.encoding import force_text, smart_text +from django.utils.functional import SimpleLazyObject +from django.utils.translation import gettext_lazy + + +@ignore_warnings(category=RemovedInDjango40Warning) +class TestDeprecatedEncodingUtils(SimpleTestCase): + + def test_force_text(self): + s = SimpleLazyObject(lambda: 'x') + self.assertIs(type(force_text(s)), str) + + def test_smart_text(self): + class Test: + def __str__(self): + return 'ŠĐĆŽćžšđ' + + lazy_func = gettext_lazy('x') + self.assertIs(smart_text(lazy_func), lazy_func) + self.assertEqual(smart_text(Test()), '\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111') + self.assertEqual(smart_text(1), '1') + self.assertEqual(smart_text('foo'), 'foo') |
