summaryrefslogtreecommitdiff
path: root/test/base/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/base/test_utils.py')
-rw-r--r--test/base/test_utils.py46
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 П"),
+ )