aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_language_base.py21
-rw-r--r--test/test_language_websocket.py32
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