diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-07-07 18:02:59 -0700 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-07-07 18:02:59 -0700 |
commit | 00dce240150595e41719e512f1b156103c3c9c31 (patch) | |
tree | 0e2fcbcd02270386e067ab671c377e2d8e8a9628 | |
parent | 76473d44e035306503a426ebcd55967798f243a1 (diff) | |
download | mitmproxy-00dce240150595e41719e512f1b156103c3c9c31.tar.gz mitmproxy-00dce240150595e41719e512f1b156103c3c9c31.tar.bz2 mitmproxy-00dce240150595e41719e512f1b156103c3c9c31.zip |
tests++
-rw-r--r-- | netlib/strutils.py | 2 | ||||
-rw-r--r-- | test/netlib/test_strutils.py | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/netlib/strutils.py b/netlib/strutils.py index cda70651..7d49e56e 100644 --- a/netlib/strutils.py +++ b/netlib/strutils.py @@ -119,7 +119,7 @@ def is_mostly_bin(s): return sum( i < 9 or 13 < i < 32 or 126 < i for i in six.iterbytes(s[:100]) - ) > 30 + ) / len(s[:100]) > 0.3 def is_xml(s): diff --git a/test/netlib/test_strutils.py b/test/netlib/test_strutils.py index f88e33ed..68bfdb94 100644 --- a/test/netlib/test_strutils.py +++ b/test/netlib/test_strutils.py @@ -3,6 +3,13 @@ import six from netlib import strutils, tutils +def test_always_bytes(): + assert strutils.always_bytes(bytes(bytearray(range(256)))) == bytes(bytearray(range(256))) + assert strutils.always_bytes("foo") == b"foo" + with tutils.raises(ValueError): + strutils.always_bytes(u"\u2605", "ascii") + + def test_native(): with tutils.raises(TypeError): strutils.native(42) @@ -31,6 +38,9 @@ def test_escape_control_characters(): u'=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~.' ) + with tutils.raises(ValueError): + strutils.escape_control_characters(b"foo") + def test_bytes_to_escaped_str(): assert strutils.bytes_to_escaped_str(b"foo") == "foo" @@ -68,6 +78,11 @@ def test_escaped_str_to_bytes(): strutils.escaped_str_to_bytes(b"very byte") +def test_is_mostly_bin(): + assert not strutils.is_mostly_bin(b"foo\xFF") + assert strutils.is_mostly_bin(b"foo" + b"\xFF" * 10) + + def test_is_xml(): assert not strutils.is_xml(b"foo") assert strutils.is_xml(b"<foo") |