aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--spec/net_websocket_frames_spec.lua56
-rw-r--r--util-src/makefile3
2 files changed, 58 insertions, 1 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);
+
diff --git a/util-src/makefile b/util-src/makefile
index 4db95abe..700633b4 100644
--- a/util-src/makefile
+++ b/util-src/makefile
@@ -5,7 +5,8 @@ CFLAGS+=-I$(LUA_INCDIR)
INSTALL_DATA=install -m644
TARGET?=../util/
-ALL=encodings.so hashes.so net.so pposix.so signal.so table.so ringbuffer.so time.so
+ALL=encodings.so hashes.so net.so pposix.so signal.so table.so \
+ ringbuffer.so time.so poll.so compat.so
.ifdef $(RANDOM)
ALL+=crand.so