aboutsummaryrefslogtreecommitdiffstats
path: root/test/netlib
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-05-12 11:03:57 -0600
committerMaximilian Hils <git@maximilianhils.com>2016-05-12 11:03:57 -0600
commitf1c922c652ec90f63cafed7f6b68d17f5229b58d (patch)
tree1091dc76bb1201dd334612a1d5bfa33f2918ad27 /test/netlib
parent518cc78454f9656be37e3153e2b508e56aa7ebf7 (diff)
downloadmitmproxy-f1c922c652ec90f63cafed7f6b68d17f5229b58d.tar.gz
mitmproxy-f1c922c652ec90f63cafed7f6b68d17f5229b58d.tar.bz2
mitmproxy-f1c922c652ec90f63cafed7f6b68d17f5229b58d.zip
Sanitize Print (#1135)
* sanitize strings with shell control characters * netlib: add utilities to safe-print bytes * escaped str: add TODO for multi-byte chars
Diffstat (limited to 'test/netlib')
-rw-r--r--test/netlib/test_utils.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/netlib/test_utils.py b/test/netlib/test_utils.py
index be2a59fc..1d8f7b0f 100644
--- a/test/netlib/test_utils.py
+++ b/test/netlib/test_utils.py
@@ -1,3 +1,4 @@
+# coding=utf-8
from netlib import utils, tutils
from netlib.http import Headers
@@ -170,3 +171,17 @@ class TestSerializable:
def test_safe_subn():
assert utils.safe_subn("foo", u"bar", "\xc2foo")
+
+
+def test_bytes_to_escaped_str():
+ assert utils.bytes_to_escaped_str(b"foo") == "foo"
+ assert utils.bytes_to_escaped_str(b"\b") == r"\x08"
+ assert utils.bytes_to_escaped_str(br"&!?=\)") == r"&!?=\\)"
+ assert utils.bytes_to_escaped_str(b'\xc3\xbc') == r"\xc3\xbc"
+
+
+def test_escaped_str_to_bytes():
+ assert utils.escaped_str_to_bytes("foo") == b"foo"
+ assert utils.escaped_str_to_bytes(r"\x08") == b"\b"
+ assert utils.escaped_str_to_bytes(r"&!?=\\)") == br"&!?=\)"
+ assert utils.escaped_str_to_bytes(r"ΓΌ") == b'\xc3\xbc'