diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2015-05-02 17:19:48 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2015-05-02 17:19:48 +1200 |
commit | 2091d1638734022a9ff879148ed432556c99db0f (patch) | |
tree | 0d7f08904fc8a2e4c102259089873c129ff8fb16 | |
parent | a6dbb829366fef47387739fa615bee904930a8a9 (diff) | |
download | mitmproxy-2091d1638734022a9ff879148ed432556c99db0f.tar.gz mitmproxy-2091d1638734022a9ff879148ed432556c99db0f.tar.bz2 mitmproxy-2091d1638734022a9ff879148ed432556c99db0f.zip |
test coverage: generators and websockets to 100%
-rw-r--r-- | libpathod/language/base.py | 8 | ||||
-rw-r--r-- | libpathod/language/generators.py | 2 | ||||
-rw-r--r-- | test/test_language_generators.py | 11 | ||||
-rw-r--r-- | test/test_language_websocket.py | 23 |
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 |