/* * 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(MIXPayloadParserTest, WithNick) { PayloadsParserTester parser; ASSERT_TRUE(parser.parse( " thirdwitch " )); auto payload = parser.getPayload(); ASSERT_TRUE(payload); ASSERT_TRUE(payload->getNick()); std::string nick = *payload->getNick(); ASSERT_EQ("thirdwitch", nick); ASSERT_FALSE(payload->getJID()); ASSERT_FALSE(payload->getSubmissionID()); } TEST(MIXPayloadParserTest, WithJID) { PayloadsParserTester parser; ASSERT_TRUE(parser.parse( " hecate@mix.shakespeare.example " )); auto payload = parser.getPayload(); ASSERT_TRUE(payload); ASSERT_TRUE(payload->getJID()); JID jid = *payload->getJID(); ASSERT_EQ("hecate@mix.shakespeare.example", jid.toString()); ASSERT_FALSE(payload->getNick()); ASSERT_FALSE(payload->getSubmissionID()); } TEST(MIXPayloadParserTest, WithAll) { PayloadsParserTester parser; ASSERT_TRUE(parser.parse( "" "thirdwitch" "hecate@mix.shakespeare.example" "92vax143g" "" )); auto payload = parser.getPayload(); ASSERT_TRUE(payload); ASSERT_TRUE(payload->getNick()); std::string nick = *payload->getNick(); ASSERT_EQ("thirdwitch", nick); ASSERT_TRUE(payload->getJID()); JID jid = *payload->getJID(); ASSERT_EQ("hecate@mix.shakespeare.example", jid.toString()); ASSERT_TRUE(payload->getSubmissionID()); std::string subID = *payload->getSubmissionID(); ASSERT_EQ("92vax143g", subID); } TEST(MIXPayloadParserTest, Empty) { PayloadsParserTester parser; ASSERT_TRUE(parser.parse( "" )); auto payload = parser.getPayload(); ASSERT_TRUE(payload); ASSERT_FALSE(payload->getNick()); ASSERT_FALSE(payload->getJID()); ASSERT_FALSE(payload->getSubmissionID()); }