Index: chrome/renderer/spellchecker/spellcheck_unittest.cc |
diff --git a/chrome/renderer/spellchecker/spellcheck_unittest.cc b/chrome/renderer/spellchecker/spellcheck_unittest.cc |
index 8a443a63b63d18cd0f1c2b69e792dfd32fca12eb..f5a8dc19b442b614c9726ab56b5823e304028911 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)); |
+ } |
+} |