aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-01-02 13:17:43 +0100
committerKim Alvefur <zash@zash.se>2020-01-02 13:17:43 +0100
commitcd9906cb2d3d5ec8801a5d2d5a832a3cb5009259 (patch)
treef93deaf58d6388f05bc185f4a3e5b6e8b9f70ccd
parent0563faba739b930c600b52e13aca95101cdb8653 (diff)
downloadprosody-cd9906cb2d3d5ec8801a5d2d5a832a3cb5009259.tar.gz
prosody-cd9906cb2d3d5ec8801a5d2d5a832a3cb5009259.zip
net.websocket.frames: Add ping and pong test cases
-rw-r--r--spec/net_websocket_frames_spec.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/net_websocket_frames_spec.lua b/spec/net_websocket_frames_spec.lua
index 6922d523..7eed73c9 100644
--- a/spec/net_websocket_frames_spec.lua
+++ b/spec/net_websocket_frames_spec.lua
@@ -43,6 +43,26 @@ describe("net.websocket.frames", function ()
["RSV3"] = false;
["key"] = { 0x20, 0x20, 0x20, 0x20, };
};
+ ping = {
+ ["opcode"] = 0x9;
+ ["length"] = 4;
+ ["data"] = "ping";
+ ["FIN"] = true;
+ ["MASK"] = false;
+ ["RSV1"] = false;
+ ["RSV2"] = false;
+ ["RSV3"] = false;
+ };
+ pong = {
+ ["opcode"] = 0xa;
+ ["length"] = 4;
+ ["data"] = "pong";
+ ["FIN"] = true;
+ ["MASK"] = false;
+ ["RSV1"] = false;
+ ["RSV2"] = false;
+ ["RSV3"] = false;
+ };
}
describe("build", function ()
@@ -52,6 +72,8 @@ describe("net.websocket.frames", function ()
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));
+ assert.equal("\137\4ping", build(test_frames.ping));
+ assert.equal("\138\4pong", build(test_frames.pong));
end);
end);
@@ -62,6 +84,8 @@ describe("net.websocket.frames", function ()
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"));
+ assert.same(test_frames.ping, parse("\137\4ping"));
+ assert.same(test_frames.pong, parse("\138\4pong"));
end);
end);