mirror of
https://github.com/lune-org/lune.git
synced 2024-12-12 13:00:37 +00:00
28 lines
968 B
Text
28 lines
968 B
Text
local net = require("@lune/net")
|
|
|
|
-- We're going to use Discord's WebSocket gateway server for testing
|
|
local socket = net.socket("wss://gateway.discord.gg/?v=10&encoding=json")
|
|
|
|
assert(type(socket.next) == "function", "next must be a function")
|
|
assert(type(socket.send) == "function", "send must be a function")
|
|
assert(type(socket.close) == "function", "close must be a function")
|
|
|
|
-- Request to close the socket
|
|
socket.close()
|
|
|
|
-- Drain remaining messages, until we got our close message
|
|
while socket.next() do
|
|
end
|
|
|
|
assert(type(socket.closeCode) == "number", "closeCode should exist after closing")
|
|
assert(socket.closeCode == 1000, "closeCode should be 1000 after closing")
|
|
|
|
local success, message = pcall(function()
|
|
socket.send("Hello, world!")
|
|
end)
|
|
|
|
assert(not success, "send should fail after closing")
|
|
assert(
|
|
string.find(tostring(message), "closed") or string.find(tostring(message), "closing"),
|
|
"send should fail with a message that the socket was closed"
|
|
)
|