aboutsummaryrefslogtreecommitdiffstats
path: root/spec/net_websocket_frames_spec.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-11-29 17:20:49 +0100
committerKim Alvefur <zash@zash.se>2018-11-29 17:20:49 +0100
commitb9078a143cf1f252656b00676ec0794af821cd67 (patch)
tree7962265e62afde1960387c690b44de31cd05f225 /spec/net_websocket_frames_spec.lua
parentbf4dc11cf0aaaf9de74cb677950c1531a5f699a5 (diff)
downloadprosody-b9078a143cf1f252656b00676ec0794af821cd67.tar.gz
prosody-b9078a143cf1f252656b00676ec0794af821cd67.zip
net.websocket.frames: Add some brief tests
These are mostly just recordings of minimal input roundtripped back into tables.
Diffstat (limited to 'spec/net_websocket_frames_spec.lua')
-rw-r--r--spec/net_websocket_frames_spec.lua56
1 files changed, 56 insertions, 0 deletions
diff --git a/spec/net_websocket_frames_spec.lua b/spec/net_websocket_frames_spec.lua
new file mode 100644
index 00000000..d4df3a54
--- /dev/null
+++ b/spec/net_websocket_frames_spec.lua
@@ -0,0 +1,56 @@
+describe("net.websocket.frames", function ()
+ local nwf = require "net.websocket.frames";
+
+ local test_frames = {
+ simple_empty = {
+ ["opcode"] = 0;
+ ["length"] = 0;
+ ["data"] = "";
+ ["FIN"] = false;
+ ["MASK"] = false;
+ ["RSV1"] = false;
+ ["RSV2"] = false;
+ ["RSV3"] = false;
+ };
+ simple_data = {
+ ["opcode"] = 0;
+ ["length"] = 5;
+ ["data"] = "hello";
+ ["FIN"] = false;
+ ["MASK"] = false;
+ ["RSV1"] = false;
+ ["RSV2"] = false;
+ ["RSV3"] = false;
+ };
+ simple_fin = {
+ ["opcode"] = 0;
+ ["length"] = 0;
+ ["data"] = "";
+ ["FIN"] = true;
+ ["MASK"] = false;
+ ["RSV1"] = false;
+ ["RSV2"] = false;
+ ["RSV3"] = false;
+ };
+ }
+
+ describe("build", function ()
+ local build = nwf.build;
+ it("works", function ()
+ assert.equal("\0\0", build(test_frames.simple_empty));
+ assert.equal("\0\5hello", build(test_frames.simple_data));
+ assert.equal("\128\0", build(test_frames.simple_fin));
+ end);
+ end);
+
+ describe("parse", function ()
+ local parse = nwf.parse;
+ it("works", function ()
+ assert.same(test_frames.simple_empty, parse("\0\0"));
+ assert.same(test_frames.simple_data, parse("\0\5hello"));
+ assert.same(test_frames.simple_fin, parse("\128\0"));
+ end);
+ end);
+
+end);
+