diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-05-03 08:56:19 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-05-03 08:56:19 +1200 |
commit | bf71a9a2a03697be4332f51727fa19fc4bcb4c62 (patch) | |
tree | b5706847d408445c2bf9fd3edd55c83edde1e493 /test/test_language_http.py | |
parent | a46e17459d6afa9b9da1e29dd2831c760c8868da (diff) | |
download | mitmproxy-bf71a9a2a03697be4332f51727fa19fc4bcb4c62.tar.gz mitmproxy-bf71a9a2a03697be4332f51727fa19fc4bcb4c62.tar.bz2 mitmproxy-bf71a9a2a03697be4332f51727fa19fc4bcb4c62.zip |
base.PathodSpec -> http.PathodResponse
Diffstat (limited to 'test/test_language_http.py')
-rw-r--r-- | test/test_language_http.py | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/test/test_language_http.py b/test/test_language_http.py index 512ad277..9892e887 100644 --- a/test/test_language_http.py +++ b/test/test_language_http.py @@ -77,7 +77,7 @@ class TestRequest: r = language.parse_requests(l) assert len(r) == 1 assert len(r[0].tokens) == 3 - assert isinstance(r[0].tokens[2], base.PathodSpec) + assert isinstance(r[0].tokens[2], http.PathodResponse) assert r[0].values({}) def test_render(self): @@ -320,3 +320,31 @@ def test_user_agent(): v2 = v.freeze({}) v3 = v2.freeze({}) assert v2.value.val == v3.value.val + + +def test_pathodspec(): + e = http.PathodResponse.expr() + v = e.parseString("s'200'")[0] + assert v.value.val == "200" + tutils.raises( + language.ParseException, + e.parseString, + "s'foo'" + ) + + v = e.parseString('s"200:b@1"')[0] + assert "@1" in v.spec() + f = v.freeze({}) + assert "@1" not in f.spec() + + +def test_pathodspec_freeze(): + e = http.PathodResponse( + base.ValueLiteral( + "200:b'foo':i10,'\\''".encode( + "string_escape" + ) + ) + ) + assert e.freeze({}) + assert e.values({}) |