From f1c922c652ec90f63cafed7f6b68d17f5229b58d Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Thu, 12 May 2016 11:03:57 -0600 Subject: Sanitize Print (#1135) * sanitize strings with shell control characters * netlib: add utilities to safe-print bytes * escaped str: add TODO for multi-byte chars --- test/netlib/test_utils.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test/netlib') 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' -- cgit v1.2.3