diff options
Diffstat (limited to 'SwifTools')
-rw-r--r-- | SwifTools/MacOSXChecker.mm | 2 | ||||
-rw-r--r-- | SwifTools/SpellParser.h | 2 | ||||
-rw-r--r-- | SwifTools/UnitTest/SpellParserTest.cpp | 24 |
3 files changed, 14 insertions, 14 deletions
diff --git a/SwifTools/MacOSXChecker.mm b/SwifTools/MacOSXChecker.mm index 519f06c..aefe3e7 100644 --- a/SwifTools/MacOSXChecker.mm +++ b/SwifTools/MacOSXChecker.mm @@ -42,38 +42,38 @@ void MacOSXChecker::setActiveLanguage(const std::string& /*language*/) { assert(false); } std::string MacOSXChecker::activeLanguage() const { assert(false); } std::vector<std::string> MacOSXChecker::supportedLanguages() const { assert(false); } void MacOSXChecker::getSuggestions(const std::string& word, std::vector<std::string>& list) { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; NSString* wordString = [[NSString alloc] initWithUTF8String: word.c_str()]; NSArray* suggestions = [spellChecker guessesForWordRange:NSMakeRange(0, [wordString length]) inString:wordString language:nil inSpellDocumentWithTag:0]; for(unsigned int i = 0; i < [suggestions count]; ++i) { list.push_back(std::string([[suggestions objectAtIndex:i] UTF8String])); } [wordString release]; } void MacOSXChecker::checkFragment(const std::string& fragment, PositionPairList& misspelledPositions) { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; size_t nextLocation = 0; NSRange range; NSString *fragmentString = [[NSString alloc] initWithUTF8String: fragment.c_str()]; do { range = [spellChecker checkSpellingOfString:fragmentString startingAt:static_cast<long>(nextLocation)]; if (range.location != NSNotFound) { if (range.location < nextLocation) break; - misspelledPositions.push_back(PositionPair(static_cast<int>(range.location), static_cast<int>(range.location + range.length))); + misspelledPositions.push_back(PositionPair(range.location, range.location + range.length)); nextLocation = range.location + range.length + 1; } } while (range.location != NSNotFound); [fragmentString release]; } } diff --git a/SwifTools/SpellParser.h b/SwifTools/SpellParser.h index 5b057c9..3c1cf8b 100644 --- a/SwifTools/SpellParser.h +++ b/SwifTools/SpellParser.h @@ -1,36 +1,36 @@ /* * Copyright (c) 2011 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. */ #pragma once #include <vector> #include <boost/algorithm/string.hpp> #include <boost/tuple/tuple.hpp> namespace Swift { enum token_ids { ID_WWW = 1, ID_HTTP = 2, ID_WORD = 3, ID_CHAR = 4 }; - typedef boost::tuple<int, int> PositionPair; + typedef boost::tuple<size_t, size_t> PositionPair; typedef std::vector<PositionPair > PositionPairList; class SpellParser{ public: void check(const std::string& fragment, PositionPairList& wordPositions); }; } diff --git a/SwifTools/UnitTest/SpellParserTest.cpp b/SwifTools/UnitTest/SpellParserTest.cpp index ccfd7e5..bf974ec 100644 --- a/SwifTools/UnitTest/SpellParserTest.cpp +++ b/SwifTools/UnitTest/SpellParserTest.cpp @@ -7,52 +7,52 @@ /* * Copyright (c) 2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <memory> #include <boost/algorithm/string.hpp> #include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/TestFactoryRegistry.h> #include <SwifTools/SpellParser.h> 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_); - int size = position_.size(); - CPPUNIT_ASSERT_EQUAL(2, size); - CPPUNIT_ASSERT_EQUAL(0, boost::get<0>(position_.front())); - CPPUNIT_ASSERT_EQUAL(8, boost::get<1>(position_.front())); - CPPUNIT_ASSERT_EQUAL(9, boost::get<0>(position_.back())); - CPPUNIT_ASSERT_EQUAL(13, boost::get<1>(position_.back())); + auto size = position_.size(); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), size); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), boost::get<0>(position_.front())); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(8), boost::get<1>(position_.front())); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(9), boost::get<0>(position_.back())); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(13), boost::get<1>(position_.back())); } void testWWWCheckFragment() { parser_->check("www.link.com fragment test", position_); - int size = position_.size(); - CPPUNIT_ASSERT_EQUAL(2, size); - CPPUNIT_ASSERT_EQUAL(13, boost::get<0>(position_.front())); - CPPUNIT_ASSERT_EQUAL(21, boost::get<1>(position_.front())); - CPPUNIT_ASSERT_EQUAL(22, boost::get<0>(position_.back())); - CPPUNIT_ASSERT_EQUAL(26, boost::get<1>(position_.back())); + auto size = position_.size(); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), size); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(13), boost::get<0>(position_.front())); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(21), boost::get<1>(position_.front())); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(22), boost::get<0>(position_.back())); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(26), boost::get<1>(position_.back())); } private: const std::unique_ptr<SpellParser> parser_ = std::unique_ptr<SpellParser>(new SpellParser()); PositionPairList position_; }; CPPUNIT_TEST_SUITE_REGISTRATION(SpellParserTest); |