Chromium Code Reviews| Index: third_party/WebKit/Source/core/editing/spellcheck/SpellCheckerTest.cpp |
| diff --git a/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckerTest.cpp b/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckerTest.cpp |
| index d1ab143fc6f408b06fe77d36abd4f6e19aff174e..e1e4767b60d3a2c85ebe7163c1c8ff42f6d00a1e 100644 |
| --- a/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckerTest.cpp |
| +++ b/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckerTest.cpp |
| @@ -5,6 +5,8 @@ |
| #include "core/editing/spellcheck/SpellChecker.h" |
| #include "core/editing/Editor.h" |
| +#include "core/editing/markers/DocumentMarkerController.h" |
| +#include "core/editing/spellcheck/SpellCheckRequester.h" |
| #include "core/editing/spellcheck/SpellCheckTestBase.h" |
| #include "core/frame/FrameView.h" |
| #include "core/frame/LocalFrame.h" |
| @@ -82,4 +84,33 @@ TEST_F(SpellCheckerTest, SpellCheckDoesNotCauseUpdateLayout) { |
| EXPECT_EQ(start_count, LayoutCount()); |
| } |
| +TEST_F(SpellCheckerTest, MarkAndReplaceForHandlesMultipleReplacements) { |
|
rlanday
2017/05/01 23:25:07
This was the closest I could easily get to testing
|
| + SetBodyContent( |
| + "<div contenteditable>" |
| + "spllchck" |
| + "</div>"); |
| + Element* div = GetDocument().QuerySelector("div"); |
| + Node* text = div->firstChild(); |
| + EphemeralRange range_to_check = |
| + EphemeralRange(Position(text, 0), Position(text, 8)); |
| + |
| + SpellCheckRequest* request = SpellCheckRequest::Create(range_to_check, 0); |
| + |
| + TextCheckingResult result; |
| + result.decoration = TextDecorationType::kTextDecorationTypeSpelling; |
| + result.location = 0; |
| + result.length = 8; |
| + result.replacements = Vector<String>({"spellcheck", "spillchuck"}); |
| + |
| + GetDocument().GetFrame()->GetSpellChecker().MarkAndReplaceFor( |
| + request, Vector<TextCheckingResult>({result})); |
| + |
| + ASSERT_EQ(1u, GetDocument().Markers().Markers().size()); |
| + |
| + // The Spelling marker's description should be a newline-separated list of the |
| + // suggested replacements |
| + EXPECT_EQ("spellcheck\nspillchuck", |
| + GetDocument().Markers().Markers()[0]->Description()); |
| +} |
| + |
| } // namespace blink |