net.websocket.frames: Add test case for masked data
ASCI is pretty neat in how lower case alphabet XOR space is upper case
--- 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);