1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "base/strings/utf_string_conversions.h" 6 #include "chrome/renderer/spellchecker/custom_dictionary_engine.h" 7 #include "testing/gtest/include/gtest/gtest.h" 8 9 TEST(CustomDictionaryTest, HandlesEmptyWordWithInvalidSubstring) { 10 CustomDictionaryEngine engine; 11 std::set<std::string> custom_words; 12 engine.Init(custom_words); 13 EXPECT_FALSE(engine.SpellCheckWord(base::string16().c_str(), 15, 23)); 14 } 15 16 TEST(CustomDictionaryTest, Basic) { 17 CustomDictionaryEngine engine; 18 EXPECT_FALSE(engine.SpellCheckWord(ASCIIToUTF16("helllo").c_str(), 0, 6)); 19 std::set<std::string> custom_words; 20 custom_words.insert("helllo"); 21 engine.Init(custom_words); 22 EXPECT_TRUE(engine.SpellCheckWord(ASCIIToUTF16("helllo").c_str(), 0, 6)); 23 } 24 25 TEST(CustomDictionaryTest, HandlesNullCharacters) { 26 char16 data[4] = {'a', 0, 'b', 'c'}; 27 EXPECT_FALSE(CustomDictionaryEngine().SpellCheckWord(data, 1, 1)); 28 } 29