diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_language_base.py | 21 | ||||
-rw-r--r-- | test/test_language_websocket.py | 32 |
2 files changed, 49 insertions, 4 deletions
diff --git a/test/test_language_base.py b/test/test_language_base.py index 4149de3e..c6cee7b3 100644 --- a/test/test_language_base.py +++ b/test/test_language_base.py @@ -280,3 +280,24 @@ def test_integer(): assert v.spec() == "200" assert v.freeze({}).value == v.value + + +class TBoolean(base.Boolean): + name = "test" + + +class test_boolean(): + e = TBoolean.expr() + assert e.parseString("test")[0].value + assert not e.parseString("-test")[0].value + + def roundtrip(s): + e = TBoolean.expr() + s2 = e.parseString(s)[0].spec() + v1 = e.parseString(s)[0].value + v2 = e.parseString(s2)[0].value + assert s == s2 + assert v1 == v2 + + roundtrip("test") + roundtrip("-test") diff --git a/test/test_language_websocket.py b/test/test_language_websocket.py index f2f0b2a8..e313c591 100644 --- a/test/test_language_websocket.py +++ b/test/test_language_websocket.py @@ -15,7 +15,11 @@ class TestWebsocketFrame: "wf", "wf:b'foo'", "wf:cbinary", - "wf:c1" + "wf:c1", + "wf:r", + "wf:fin", + "wf:fin:rsv1:rsv2:rsv3:mask", + "wf:-fin:-rsv1:-rsv2:-rsv3:-mask", ] for i in specs: wf = parse_request(i) @@ -28,12 +32,32 @@ class TestWebsocketFrame: wf2 = parse_request(spec) assert wf2.spec() == spec + def test_raw(self): + pass + + def test_flags(self): + wf = parse_request("wf:fin:mask:rsv1:rsv2:rsv3") + frm = netlib.websockets.Frame.from_bytes(tutils.render(wf)) + assert frm.header.fin + assert frm.header.mask + assert frm.header.rsv1 + assert frm.header.rsv2 + assert frm.header.rsv3 + + wf = parse_request("wf:-fin:-mask:-rsv1:-rsv2:-rsv3") + frm = netlib.websockets.Frame.from_bytes(tutils.render(wf)) + assert not frm.header.fin + assert not frm.header.mask + assert not frm.header.rsv1 + assert not frm.header.rsv2 + assert not frm.header.rsv3 + def test_construction(self): wf = parse_request("wf:c1") frm = netlib.websockets.Frame.from_bytes(tutils.render(wf)) - assert wf.code.value == 1 == frm.header.opcode + assert wf.opcode.value == 1 == frm.header.opcode wf = parse_request("wf:cbinary") frm = netlib.websockets.Frame.from_bytes(tutils.render(wf)) - assert wf.code.value == frm.header.opcode - assert wf.code.value == netlib.websockets.OPCODE.BINARY + assert wf.opcode.value == frm.header.opcode + assert wf.opcode.value == netlib.websockets.OPCODE.BINARY |