# HG changeset patch # User Kim Alvefur # Date 1577967423 -3600 # Node ID 624ad69dbaf7b3a62e12a7817cd6d534de350ce9 # Parent 6d4562acef811e0dd1006da01f981632dc4ec4c1 net.websocket.frames: Add test case for masked data ASCI is pretty neat in how lower case alphabet XOR space is upper case diff -r 6d4562acef81 -r 624ad69dbaf7 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);