/* * Copyright (c) 2015-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include #include #include #include #include #include #include using namespace Swift; class CarbonsParserTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(CarbonsParserTest); CPPUNIT_TEST(testParseExample3); CPPUNIT_TEST(testParseExample6); CPPUNIT_TEST(testParseExample12); CPPUNIT_TEST(testParseExample14); CPPUNIT_TEST(testParseExample15); CPPUNIT_TEST_SUITE_END(); public: CarbonsParserTest() {} /* * Test parsing of example 3 in XEP-0280. */ void testParseExample3() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("")); CarbonsEnable::ref enable = parser.getPayload(); CPPUNIT_ASSERT(enable); } /* * Test parsing of example 6 in XEP-0280. */ void testParseExample6() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("")); CarbonsDisable::ref disable = parser.getPayload(); CPPUNIT_ASSERT(disable); } /* * Test parsing of example 12 in XEP-0280. */ void testParseExample12() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("" "" "" "What man art thou that, thus bescreen'd in night, so stumblest on my counsel?" "0e3141cd80894871a68e6fe6b1ec56fa" "" "" "")); CarbonsReceived::ref received = parser.getPayload(); CPPUNIT_ASSERT(received); boost::shared_ptr forwarded = received->getForwarded(); CPPUNIT_ASSERT(forwarded); boost::shared_ptr message = boost::dynamic_pointer_cast(forwarded->getStanza()); CPPUNIT_ASSERT(message); CPPUNIT_ASSERT_EQUAL(JID("juliet@capulet.example/balcony"), message->getFrom()); boost::shared_ptr thread = message->getPayload(); CPPUNIT_ASSERT(thread); CPPUNIT_ASSERT_EQUAL(std::string("0e3141cd80894871a68e6fe6b1ec56fa"), thread->getText()); } /* * Test parsing of example 14 in XEP-0280. */ void testParseExample14() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("" "" "" "Neither, fair saint, if either thee dislike." "0e3141cd80894871a68e6fe6b1ec56fa" "" "" "")); CarbonsSent::ref sent = parser.getPayload(); CPPUNIT_ASSERT(sent); boost::shared_ptr forwarded = sent->getForwarded(); CPPUNIT_ASSERT(forwarded); boost::shared_ptr message = boost::dynamic_pointer_cast(forwarded->getStanza()); CPPUNIT_ASSERT(message); CPPUNIT_ASSERT_EQUAL(JID("juliet@capulet.example/balcony"), message->getTo()); } /* * Test parsing of example 15 in XEP-0280. */ void testParseExample15() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("")); CPPUNIT_ASSERT(parser.getPayload()); } }; CPPUNIT_TEST_SUITE_REGISTRATION(CarbonsParserTest);