diff options
Diffstat (limited to 'test/base/test_utils.py')
| -rw-r--r-- | test/base/test_utils.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/base/test_utils.py b/test/base/test_utils.py index 20b41101e..69af6e032 100644 --- a/test/base/test_utils.py +++ b/test/base/test_utils.py @@ -1,3 +1,5 @@ +#! coding: utf-8 + import copy import inspect import sys @@ -2552,3 +2554,47 @@ class QuotedTokenParserTest(fixtures.TestBase): def test_quoted_single_w_dot_middle(self): self._test('"na.me"', ["na.me"]) + + +class BackslashReplaceTest(fixtures.TestBase): + def test_ascii_to_utf8(self): + eq_( + compat.decode_backslashreplace(util.b("hello world"), "utf-8"), + util.u("hello world"), + ) + + def test_utf8_to_utf8(self): + eq_( + compat.decode_backslashreplace( + util.u("some message méil").encode("utf-8"), "utf-8" + ), + util.u("some message méil"), + ) + + def test_latin1_to_utf8(self): + eq_( + compat.decode_backslashreplace( + util.u("some message méil").encode("latin-1"), "utf-8" + ), + util.u("some message m\\xe9il"), + ) + + eq_( + compat.decode_backslashreplace( + util.u("some message méil").encode("latin-1"), "latin-1" + ), + util.u("some message méil"), + ) + + def test_cp1251_to_utf8(self): + message = util.u("some message П").encode("cp1251") + eq_(message, b"some message \xcf") + eq_( + compat.decode_backslashreplace(message, "utf-8"), + util.u("some message \\xcf"), + ) + + eq_( + compat.decode_backslashreplace(message, "cp1251"), + util.u("some message П"), + ) |
