/* * Copyright (c) 2017 Tarun Gupta * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include using namespace Swift; TEST(MIXJoinSerializerTest, XEP0369_Example22) { MIXJoinSerializer testling; auto join = std::make_shared(); join->setChannel(JID("coven@mix.shakespeare.example")); join->addSubscription(std::string("urn:xmpp:mix:nodes:messages")); join->addSubscription(std::string("urn:xmpp:mix:nodes:presence")); join->addSubscription(std::string("urn:xmpp:mix:nodes:participants")); join->addSubscription(std::string("urn:xmpp:mix:nodes:config")); std::string expectedResult = "" "" "" "" "" ""; ASSERT_EQ(expectedResult, testling.serialize(join)); } TEST(MIXJoinSerializerTest, XEP0369_Example23) { MIXJoinSerializer testling; std::shared_ptr join(new MIXJoin()); join->addSubscription(std::string("urn:xmpp:mix:nodes:messages")); join->addSubscription(std::string("urn:xmpp:mix:nodes:presence")); join->addSubscription(std::string("urn:xmpp:mix:nodes:participants")); join->addSubscription(std::string("urn:xmpp:mix:nodes:config")); std::string expectedResult = "" "" "" "" "" ""; ASSERT_EQ(expectedResult, testling.serialize(join)); } TEST(MIXJoinSerializerTest, XEP0369_Example24) { MIXJoinSerializer testling; std::shared_ptr join(new MIXJoin()); join->setJID(JID("123456#coven@mix.shakespeare.example")); join->addSubscription(std::string("urn:xmpp:mix:nodes:messages")); join->addSubscription(std::string("urn:xmpp:mix:nodes:presence")); join->addSubscription(std::string("urn:xmpp:mix:nodes:participants")); join->addSubscription(std::string("urn:xmpp:mix:nodes:config")); std::string expectedResult = "" "" "" "" "" ""; ASSERT_EQ(expectedResult, testling.serialize(join)); } TEST(MIXJoinSerializerTest, XEP0369_Example29) { MIXJoinSerializer testling; std::shared_ptr join(new MIXJoin()); join->addSubscription(std::string("urn:xmpp:mix:nodes:messages")); join->addSubscription(std::string("urn:xmpp:mix:nodes:presence")); std::shared_ptr
parameters(std::make_shared()); parameters->setType(Form::Type::SubmitType); std::shared_ptr fieldType = std::make_shared(FormField::HiddenType); fieldType->setName("FORM_TYPE"); fieldType->addValue("urn:xmpp:mix:0"); parameters->addField(fieldType); std::shared_ptr fieldJIDVisibility = std::make_shared(); fieldJIDVisibility->setName("JID Visibility"); fieldJIDVisibility->addValue("never"); parameters->addField(fieldJIDVisibility); join->setForm(parameters); std::string expectedResult = "" "" "" "" "" "urn:xmpp:mix:0" "" "" "never" "" "" ""; ASSERT_EQ(expectedResult, testling.serialize(join)); } TEST(MIXJoinSerializerTest, XEP0369_Example30) { MIXJoinSerializer testling; std::shared_ptr join(new MIXJoin()); join->setJID(JID("hag66@shakespeare.example")); join->addSubscription(std::string("urn:xmpp:mix:nodes:messages")); join->addSubscription(std::string("urn:xmpp:mix:nodes:presence")); std::shared_ptr parameters(std::make_shared()); parameters->setType(Form::Type::ResultType); std::shared_ptr fieldType = std::make_shared(FormField::HiddenType); fieldType->setName("FORM_TYPE"); fieldType->addValue("urn:xmpp:mix:0"); parameters->addField(fieldType); std::shared_ptr fieldJIDVisibility = std::make_shared(); fieldJIDVisibility->setName("JID Visibility"); fieldJIDVisibility->addValue("never"); parameters->addField(fieldJIDVisibility); std::shared_ptr fieldprivateMessages = std::make_shared(); fieldprivateMessages->setName("Private Messages"); fieldprivateMessages->addValue("allow"); parameters->addField(fieldprivateMessages); std::shared_ptr vCard = std::make_shared(); vCard->setName("vCard"); vCard->addValue("block"); parameters->addField(vCard); join->setForm(parameters); std::string expectedResult = "" "" "" "" "" "urn:xmpp:mix:0" "" "" "never" "" "" "allow" "" "" "block" "" "" ""; ASSERT_EQ(expectedResult, testling.serialize(join)); }