net.websocket.frames: Add some brief tests 0.11
authorKim Alvefur <zash@zash.se>
Thu, 29 Nov 2018 17:20:49 +0100
branch0.11
changeset 9664 7e75c348095b
parent 9659 e9b8982e3b5d
child 9665 8154a8841bb2
net.websocket.frames: Add some brief tests These are mostly just recordings of minimal input roundtripped back into tables.
spec/net_websocket_frames_spec.lua
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/net_websocket_frames_spec.lua	Thu Nov 29 17:20:49 2018 +0100
@@ -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);
+