Software /
code /
prosody
File
spec/muc_util_spec.lua @ 10777:3695904d2854 0.11
mod_carbons: Fix handling of incoming MUC PMs #1540
27f5db07bec9 fixed this wrong. The code is supposed to check if the
stanza is NOT sent to your bare JID. A MUC PM is always sent to your
full JID. Hopefully nobody sends MUC invites to full JIDs, because those
would be skipped by this as well.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 26 Apr 2020 20:39:39 +0200 |
parent | 9213:172f93f752b8 |
child | 10715:ad86b93093a3 |
line wrap: on
line source
local muc_util; local st = require "util.stanza"; do local old_pp = package.path; package.path = "./?.lib.lua;"..package.path; muc_util = require "plugins.muc.util"; package.path = old_pp; end describe("muc/util", function () describe("filter_muc_x()", function () it("correctly filters muc#user", function () local stanza = st.message({ to = "to", from = "from", id = "foo" }) :tag("x", { xmlns = "http://jabber.org/protocol/muc#user" }) :tag("invite", { to = "user@example.com" }); assert.equal(1, #stanza.tags); assert.equal(stanza, muc_util.filter_muc_x(stanza)); assert.equal(0, #stanza.tags); end); it("correctly filters muc#user on a cloned stanza", function () local stanza = st.message({ to = "to", from = "from", id = "foo" }) :tag("x", { xmlns = "http://jabber.org/protocol/muc#user" }) :tag("invite", { to = "user@example.com" }); assert.equal(1, #stanza.tags); local filtered = muc_util.filter_muc_x(st.clone(stanza)); assert.equal(1, #stanza.tags); assert.equal(0, #filtered.tags); end); end); end);