aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_language.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-11-16 11:31:04 +1300
committerAldo Cortesi <aldo@nullcube.com>2012-11-16 13:46:42 +1300
commitef9cbe3b25face06f941a9f92aac5c79821e83bf (patch)
treebc744521b2c66d15cb8febd19632fde3cb4281ec /test/test_language.py
parent5d18830f7169fcacac2d23b349a82502bd4171b4 (diff)
downloadmitmproxy-ef9cbe3b25face06f941a9f92aac5c79821e83bf.tar.gz
mitmproxy-ef9cbe3b25face06f941a9f92aac5c79821e83bf.tar.bz2
mitmproxy-ef9cbe3b25face06f941a9f92aac5c79821e83bf.zip
Add u User-agent shortcut.
Usage: 200:ua - Shortcut "a" for Android. 200:u"foo" - Or a value literal Shortcuts can be listed using the --show-uas argument to pathoc.
Diffstat (limited to 'test/test_language.py')
-rw-r--r--test/test_language.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/test_language.py b/test/test_language.py
index b02a89dd..d7f7b4cc 100644
--- a/test/test_language.py
+++ b/test/test_language.py
@@ -297,11 +297,30 @@ class TestHeaders:
v3 = v2.freeze({})
assert v2.value.val == v3.value.val
- def test_shortcut_content_type(self):
+ def test_shortcuts(self):
assert language.parse_response({}, "400:c'foo'").headers[0].key.val == "Content-Type"
assert language.parse_response({}, "400:l'foo'").headers[0].key.val == "Location"
+ assert 'Android' in language.parse_response({}, "400:ua").headers[0].value.val
+ assert language.parse_response({}, "400:ua").headers[0].key.val == "User-Agent"
+class TestShortcutUserAgent:
+ def test_location_shortcut(self):
+ e = language.ShortcutUserAgent.expr()
+ v = e.parseString("ua")[0]
+ assert "Android" in str(v.value)
+ assert v.spec() == "ua"
+ assert v.key.val == "User-Agent"
+
+ v = e.parseString("u'foo'")[0]
+ assert "foo" in str(v.value)
+ assert "foo" in v.spec()
+
+ v = e.parseString("u@100'")[0]
+ assert len(str(v.freeze({}).value)) > 100
+ v2 = v.freeze({})
+ v3 = v2.freeze({})
+ assert v2.value.val == v3.value.val
class Test_Action: