aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-05-02 17:19:48 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-05-02 17:19:48 +1200
commit2091d1638734022a9ff879148ed432556c99db0f (patch)
tree0d7f08904fc8a2e4c102259089873c129ff8fb16
parenta6dbb829366fef47387739fa615bee904930a8a9 (diff)
downloadmitmproxy-2091d1638734022a9ff879148ed432556c99db0f.tar.gz
mitmproxy-2091d1638734022a9ff879148ed432556c99db0f.tar.bz2
mitmproxy-2091d1638734022a9ff879148ed432556c99db0f.zip
test coverage: generators and websockets to 100%
-rw-r--r--libpathod/language/base.py8
-rw-r--r--libpathod/language/generators.py2
-rw-r--r--test/test_language_generators.py11
-rw-r--r--test/test_language_websocket.py23
4 files changed, 26 insertions, 18 deletions
diff --git a/libpathod/language/base.py b/libpathod/language/base.py
index 6de8c086..eceeae26 100644
--- a/libpathod/language/base.py
+++ b/libpathod/language/base.py
@@ -11,14 +11,6 @@ from . import generators, exceptions
TRUNCATE = 1024
-
-def quote(s):
- quotechar = s[0]
- s = s[1:-1]
- s = s.replace(quotechar, "\\" + quotechar)
- return quotechar + s + quotechar
-
-
v_integer = pp.Word(pp.nums)\
.setName("integer")\
.setParseAction(lambda toks: int(toks[0]))
diff --git a/libpathod/language/generators.py b/libpathod/language/generators.py
index ae6a0530..58be7130 100644
--- a/libpathod/language/generators.py
+++ b/libpathod/language/generators.py
@@ -40,7 +40,7 @@ class TransformGenerator:
return self.transform(a, d)
def __repr__(self):
- return "'%s'"%self.gen
+ return "'transform(%s)'"%self.gen
class LiteralGenerator:
diff --git a/test/test_language_generators.py b/test/test_language_generators.py
index 3db1ac91..854b8485 100644
--- a/test/test_language_generators.py
+++ b/test/test_language_generators.py
@@ -36,3 +36,14 @@ def test_filegenerator():
# remove all references to FileGenerator instance to close the file
# handle.
del g
+
+
+def test_transform_generator():
+ def trans(offset, data):
+ return "a" * len(data)
+ g = generators.LiteralGenerator("one")
+ t = generators.TransformGenerator(g, trans)
+ assert len(t) == len(g)
+ assert t[0] == "a"
+ assert t[:] == "a" * len(g)
+ assert repr(t)
diff --git a/test/test_language_websocket.py b/test/test_language_websocket.py
index 8a683d81..3b1d4852 100644
--- a/test/test_language_websocket.py
+++ b/test/test_language_websocket.py
@@ -8,13 +8,18 @@ def parse_request(s):
class TestWebsocketFrame:
- def test_spec(self):
- e = websockets.WebsocketFrame.expr()
- wf = e.parseString("wf:b'foo'")
- assert wf
-
- assert parse_request("wf:b'foo'")
-
def test_values(self):
- r = parse_request("wf:b'foo'")
- assert r.values(language.Settings())
+ specs = [
+ "wf",
+ "wf:b'foo'"
+ ]
+ for i in specs:
+ wf = parse_request(i)
+ assert isinstance(wf, websockets.WebsocketFrame)
+ assert wf
+ assert wf.values(language.Settings())
+ assert wf.resolve(language.Settings())
+
+ spec = wf.spec()
+ wf2 = parse_request(spec)
+ assert wf2.spec() == spec