net.websocket.frames: Add test case for masked data
authorKim Alvefur <zash@zash.se>
Thu, 02 Jan 2020 13:17:03 +0100
changeset 10587 624ad69dbaf7
parent 10586 6d4562acef81
child 10588 0c464bb7eb03
net.websocket.frames: Add test case for masked data ASCI is pretty neat in how lower case alphabet XOR space is upper case
spec/net_websocket_frames_spec.lua
--- a/spec/net_websocket_frames_spec.lua	Thu Jan 02 10:52:47 2020 +0100
+++ b/spec/net_websocket_frames_spec.lua	Thu Jan 02 13:17:03 2020 +0100
@@ -32,6 +32,17 @@
 			["RSV2"] = false;
 			["RSV3"] = false;
 		};
+		masked_data = {
+			["opcode"] = 0;
+			["length"] = 5;
+			["data"] = "hello";
+			["FIN"] = true;
+			["MASK"] = true;
+			["RSV1"] = false;
+			["RSV2"] = false;
+			["RSV3"] = false;
+			["key"] = { 0x20, 0x20, 0x20, 0x20, };
+		};
 	}
 
 	describe("build", function ()
@@ -40,6 +51,7 @@
 			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));
+			assert.equal("\128\133    HELLO", build(test_frames.masked_data));
 		end);
 	end);
 
@@ -49,6 +61,7 @@
 			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"));
+			assert.same(test_frames.masked_data, parse("\128\133    HELLO"));
 		end);
 	end);