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
commit7f75a66d21f6a04c686d2cc5915c8381928a4705 (patch)
tree7962265e62afde1960387c690b44de31cd05f225 /spec/net_websocket_frames_spec.lua
parent9bc330f368d20d232cfafc3498d5f83252e3df82 (diff)
downloadprosody-7f75a66d21f6a04c686d2cc5915c8381928a4705.tar.gz
prosody-7f75a66d21f6a04c686d2cc5915c8381928a4705.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);
+