aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2017-08-24 18:57:32 +0200
committerMaximilian Hils <git@maximilianhils.com>2017-08-24 18:57:32 +0200
commit72ac89f666d0093f523998eaa2a5ff9a41a26ff7 (patch)
tree3d36d50d5d648d0b44d9944aa284218d917ea9d2 /test
parent6350d5a19edafa992b53073610f05c0d38f28ddd (diff)
downloadmitmproxy-72ac89f666d0093f523998eaa2a5ff9a41a26ff7.tar.gz
mitmproxy-72ac89f666d0093f523998eaa2a5ff9a41a26ff7.tar.bz2
mitmproxy-72ac89f666d0093f523998eaa2a5ff9a41a26ff7.zip
add strutils.escape_special_areas
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/utils/test_strutils.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/mitmproxy/utils/test_strutils.py b/test/mitmproxy/utils/test_strutils.py
index bacd7f62..ea3569c0 100644
--- a/test/mitmproxy/utils/test_strutils.py
+++ b/test/mitmproxy/utils/test_strutils.py
@@ -96,3 +96,25 @@ def test_clean_hanging_newline():
def test_hexdump():
assert list(strutils.hexdump(b"one\0" * 10))
+
+
+ESCAPE_QUOTES = [
+ ("'", strutils.NO_ESCAPE + "'"),
+ ('"', strutils.NO_ESCAPE + '"')
+]
+
+
+def test_split_special_areas():
+ assert strutils.split_special_areas("foo", ESCAPE_QUOTES) == ["foo"]
+ assert strutils.split_special_areas("foo 'bar' baz", ESCAPE_QUOTES) == ["foo ", "'bar'", " baz"]
+ assert strutils.split_special_areas(
+ """foo 'b\\'a"r' baz""",
+ ESCAPE_QUOTES
+ ) == ["foo ", "'b\\'a\"r'", " baz"]
+
+
+def test_escape_special_areas():
+ assert strutils.escape_special_areas('foo "bar" baz', ESCAPE_QUOTES, "*") == 'foo "bar" baz'
+ esc = strutils.escape_special_areas('foo "b*r" b*z', ESCAPE_QUOTES, "*")
+ assert esc == 'foo "b\ue02ar" b*z'
+ assert strutils.unescape_special_areas(esc) == 'foo "b*r" b*z'