custom_dictionary_engine_unittest.cc revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
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
9TEST(CustomDictionaryTest, HandlesEmptyWordWithInvalidSubstring) {
10  CustomDictionaryEngine engine;
11  std::set<std::string> custom_words;
12  engine.Init(custom_words);
13  EXPECT_FALSE(engine.SpellCheckWord(string16().c_str(), 15, 23));
14}
15
16TEST(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
25TEST(CustomDictionaryTest, HandlesNullCharacters) {
26  char16 data[4] = {'a', 0, 'b', 'c'};
27  EXPECT_FALSE(CustomDictionaryEngine().SpellCheckWord(data, 1, 1));
28}
29