test coverage: generators and websockets to 100%

This commit is contained in:
Aldo Cortesi 2015-05-02 17:19:48 +12:00
parent a6dbb82936
commit 2091d16387
4 changed files with 26 additions and 18 deletions

View File

@ -11,14 +11,6 @@ from . import generators, exceptions
TRUNCATE = 1024 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)\ v_integer = pp.Word(pp.nums)\
.setName("integer")\ .setName("integer")\
.setParseAction(lambda toks: int(toks[0])) .setParseAction(lambda toks: int(toks[0]))

View File

@ -40,7 +40,7 @@ class TransformGenerator:
return self.transform(a, d) return self.transform(a, d)
def __repr__(self): def __repr__(self):
return "'%s'"%self.gen return "'transform(%s)'"%self.gen
class LiteralGenerator: class LiteralGenerator:

View File

@ -36,3 +36,14 @@ def test_filegenerator():
# remove all references to FileGenerator instance to close the file # remove all references to FileGenerator instance to close the file
# handle. # handle.
del g 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)

View File

@ -8,13 +8,18 @@ def parse_request(s):
class TestWebsocketFrame: 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): def test_values(self):
r = parse_request("wf:b'foo'") specs = [
assert r.values(language.Settings()) "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