# HG changeset patch # User Matthew Wild # Date 1534681255 -3600 # Node ID 172f93f752b800eb8c399c0152fdbb97f35a9bd3 # Parent 127af0795e93b4f4907855bee85412e636087c70 tests: Add muc/util tests for filtering MUC elements diff -r 127af0795e93 -r 172f93f752b8 spec/muc_util_spec.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spec/muc_util_spec.lua Sun Aug 19 13:20:55 2018 +0100 @@ -0,0 +1,35 @@ +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);