summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/spellchecker/spellcheck_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/spellchecker/spellcheck_unittest.cc')
-rw-r--r--chrome/renderer/spellchecker/spellcheck_unittest.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/chrome/renderer/spellchecker/spellcheck_unittest.cc b/chrome/renderer/spellchecker/spellcheck_unittest.cc
index 8a443a63..f5a8dc1 100644
--- a/chrome/renderer/spellchecker/spellcheck_unittest.cc
+++ b/chrome/renderer/spellchecker/spellcheck_unittest.cc
@@ -1326,3 +1326,30 @@ TEST_F(SpellCheckTest, SpellingEngine_CheckSpelling) {
}
}
+// Chrome should not suggest "Othello" for "hellllo" or "identically" for
+// "accidently".
+TEST_F(SpellCheckTest, LogicalSuggestions) {
+ static const struct {
+ const char* misspelled;
+ const char* suggestion;
+ } kTestCases[] = {
+ { "hellllo", "hello" },
+ { "accidently", "accidentally" }
+ };
+
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) {
+ int misspelling_start = 0;
+ int misspelling_length = 0;
+ std::vector<string16> suggestions;
+ EXPECT_FALSE(spell_check()->SpellCheckWord(
+ ASCIIToUTF16(kTestCases[i].misspelled).c_str(),
+ strlen(kTestCases[i].misspelled),
+ 0,
+ &misspelling_start,
+ &misspelling_length,
+ &suggestions));
+ EXPECT_GE(suggestions.size(), static_cast<size_t>(1));
+ if (suggestions.size() > 0)
+ EXPECT_EQ(suggestions[0], ASCIIToUTF16(kTestCases[i].suggestion));
+ }
+}