diff options
author | Aldo Cortesi <aldo@corte.si> | 2016-06-02 13:14:56 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@corte.si> | 2016-06-02 13:14:56 +1200 |
commit | 07f7905f9182ad0098a5a2e37d40ce9b27298380 (patch) | |
tree | 76ba04357353645f49e0f4bd8d835e471239b54b /test/netlib/test_strutils.py | |
parent | eaa3b308f7bb48256ccf56ea07d008fa5f9dd6ad (diff) | |
parent | 09da1febbd9beac5ef5650274899439f5ce10e98 (diff) | |
download | mitmproxy-07f7905f9182ad0098a5a2e37d40ce9b27298380.tar.gz mitmproxy-07f7905f9182ad0098a5a2e37d40ce9b27298380.tar.bz2 mitmproxy-07f7905f9182ad0098a5a2e37d40ce9b27298380.zip |
Merge pull request #1191 from cortesi/utils
Utils reorganisation
Diffstat (limited to 'test/netlib/test_strutils.py')
-rw-r--r-- | test/netlib/test_strutils.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/netlib/test_strutils.py b/test/netlib/test_strutils.py new file mode 100644 index 00000000..734265c4 --- /dev/null +++ b/test/netlib/test_strutils.py @@ -0,0 +1,63 @@ +# coding=utf-8 + +from netlib import strutils + + +def test_clean_bin(): + assert strutils.clean_bin(b"one") == b"one" + assert strutils.clean_bin(b"\00ne") == b".ne" + assert strutils.clean_bin(b"\nne") == b"\nne" + assert strutils.clean_bin(b"\nne", False) == b".ne" + assert strutils.clean_bin(u"\u2605".encode("utf8")) == b"..." + + assert strutils.clean_bin(u"one") == u"one" + assert strutils.clean_bin(u"\00ne") == u".ne" + assert strutils.clean_bin(u"\nne") == u"\nne" + assert strutils.clean_bin(u"\nne", False) == u".ne" + assert strutils.clean_bin(u"\u2605") == u"\u2605" + + +def test_safe_subn(): + assert strutils.safe_subn("foo", u"bar", "\xc2foo") + + +def test_bytes_to_escaped_str(): + assert strutils.bytes_to_escaped_str(b"foo") == "foo" + assert strutils.bytes_to_escaped_str(b"\b") == r"\x08" + assert strutils.bytes_to_escaped_str(br"&!?=\)") == r"&!?=\\)" + assert strutils.bytes_to_escaped_str(b'\xc3\xbc') == r"\xc3\xbc" + assert strutils.bytes_to_escaped_str(b"'") == r"\'" + assert strutils.bytes_to_escaped_str(b'"') == r'"' + + +def test_escaped_str_to_bytes(): + assert strutils.escaped_str_to_bytes("foo") == b"foo" + assert strutils.escaped_str_to_bytes("\x08") == b"\b" + assert strutils.escaped_str_to_bytes("&!?=\\\\)") == br"&!?=\)" + assert strutils.escaped_str_to_bytes("ü") == b'\xc3\xbc' + assert strutils.escaped_str_to_bytes(u"\\x08") == b"\b" + assert strutils.escaped_str_to_bytes(u"&!?=\\\\)") == br"&!?=\)" + assert strutils.escaped_str_to_bytes(u"ü") == b'\xc3\xbc' + + +def test_isBin(): + assert not strutils.isBin("testing\n\r") + assert strutils.isBin("testing\x01") + assert strutils.isBin("testing\x0e") + assert strutils.isBin("testing\x7f") + + +def test_isXml(): + assert not strutils.isXML("foo") + assert strutils.isXML("<foo") + assert strutils.isXML(" \n<foo") + + +def test_clean_hanging_newline(): + s = "foo\n" + assert strutils.clean_hanging_newline(s) == "foo" + assert strutils.clean_hanging_newline("foo") == "foo" + + +def test_hexdump(): + assert list(strutils.hexdump(b"one\0" * 10)) |