/* * Copyright (c) 2012 Vlad Voicu * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ /* * Copyright (c) 2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include using namespace Swift; class SpellParserTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(SpellParserTest); CPPUNIT_TEST(testSimpleCheckFragment); CPPUNIT_TEST(testWWWCheckFragment); CPPUNIT_TEST_SUITE_END(); public: SpellParserTest() { } void tearDown() { position_.clear(); } void testSimpleCheckFragment() { parser_->check("fragment test", position_); auto size = position_.size(); CPPUNIT_ASSERT_EQUAL(static_cast(2), size); CPPUNIT_ASSERT_EQUAL(static_cast(0), boost::get<0>(position_.front())); CPPUNIT_ASSERT_EQUAL(static_cast(8), boost::get<1>(position_.front())); CPPUNIT_ASSERT_EQUAL(static_cast(9), boost::get<0>(position_.back())); CPPUNIT_ASSERT_EQUAL(static_cast(13), boost::get<1>(position_.back())); } void testWWWCheckFragment() { parser_->check("www.link.com fragment test", position_); auto size = position_.size(); CPPUNIT_ASSERT_EQUAL(static_cast(2), size); CPPUNIT_ASSERT_EQUAL(static_cast(13), boost::get<0>(position_.front())); CPPUNIT_ASSERT_EQUAL(static_cast(21), boost::get<1>(position_.front())); CPPUNIT_ASSERT_EQUAL(static_cast(22), boost::get<0>(position_.back())); CPPUNIT_ASSERT_EQUAL(static_cast(26), boost::get<1>(position_.back())); } private: const std::unique_ptr parser_ = std::unique_ptr(new SpellParser()); PositionPairList position_; }; CPPUNIT_TEST_SUITE_REGISTRATION(SpellParserTest);