/* * Copyright (c) 2017 Tarun Gupta * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include #include using namespace Swift; TEST(MIXCreateParserTest, XEP0369_Example68) { PayloadsParserTester parser; ASSERT_TRUE(parser.parse( "" )); auto payload = parser.getPayload(); ASSERT_TRUE(payload); ASSERT_FALSE(payload->getData()); ASSERT_FALSE(payload->getChannel()); } TEST(MIXCreateParserTest, XEP0369_Example66) { PayloadsParserTester parser; ASSERT_TRUE(parser.parse( "" )); auto payload = parser.getPayload(); ASSERT_TRUE(payload); ASSERT_FALSE(payload->getData()); ASSERT_TRUE(payload->getChannel()); ASSERT_EQ(std::string("coven"), *payload->getChannel()); } TEST(MIXCreateParserTest, XEP0369_Example67) { PayloadsParserTester parser; ASSERT_TRUE(parser.parse( "" "" "" "urn:xmpp:mix:1" "" "" "hecate@shakespeare.lit" "greymalkin@shakespeare.lit" "" "" "allowed" "" "" "jid-mandatory-visible" "" "" "true" "" "" "" )); auto payload = parser.getPayload(); ASSERT_TRUE(payload); ASSERT_TRUE(payload->getData()); ASSERT_EQ(Form::Type::ResultType, payload->getData()->getType()); std::shared_ptr fieldType = payload->getData()->getField("FORM_TYPE"); ASSERT_TRUE(fieldType); std::shared_ptr fieldJIDVisibility = payload->getData()->getField("JID Visibility"); ASSERT_TRUE(fieldJIDVisibility); ASSERT_EQ(std::string("jid-mandatory-visible"), fieldJIDVisibility->getTextSingleValue()); std::shared_ptr fieldprivateMessages = payload->getData()->getField("No Private Messages"); ASSERT_TRUE(fieldprivateMessages); ASSERT_EQ(std::string("true"), fieldprivateMessages->getTextSingleValue()); std::shared_ptr nodeSubs = payload->getData()->getField("Messages Node Subscription"); ASSERT_TRUE(nodeSubs); ASSERT_EQ(std::string("allowed"), nodeSubs->getTextSingleValue()); ASSERT_TRUE(payload->getChannel()); ASSERT_EQ(std::string("coven"), *payload->getChannel()); }