Index: Source/web/tests/WebFrameTest.cpp |
diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp |
index 092bead1c60da397956adfc24db471dd7a533000..7c4d04b6c8da5a7e559528f4161b78cfd83f8956 100644 |
--- a/Source/web/tests/WebFrameTest.cpp |
+++ b/Source/web/tests/WebFrameTest.cpp |
@@ -4417,6 +4417,38 @@ TEST_F(WebFrameTest, RemoveSpellingMarkers) |
EXPECT_EQ(0U, document->markers().markersInRange(selectionRange.get(), DocumentMarker::Spelling).size()); |
} |
+TEST_F(WebFrameTest, RemoveSpellingMarkersUnderWords) |
+{ |
+ registerMockedHttpURLLoad("spell.html"); |
+ FrameTestHelpers::WebViewHelper webViewHelper; |
+ webViewHelper.initializeAndLoad(m_baseURL + "spell.html"); |
+ SpellCheckClient spellcheck; |
+ webViewHelper.webView()->setSpellCheckClient(&spellcheck); |
+ |
+ WebLocalFrameImpl* frame = toWebLocalFrameImpl(webViewHelper.webView()->mainFrame()); |
+ Document* document = frame->frame()->document(); |
+ Element* element = document->getElementById("data"); |
+ |
+ webViewHelper.webView()->settings()->setAsynchronousSpellCheckingEnabled(true); |
+ webViewHelper.webView()->settings()->setUnifiedTextCheckerEnabled(true); |
+ webViewHelper.webView()->settings()->setEditingBehavior(WebSettings::EditingBehaviorWin); |
+ |
+ element->focus(); |
+ document->execCommand("InsertText", false, " wellcome "); |
+ |
+ WebVector<uint32_t> documentMarkers1; |
+ webViewHelper.webView()->spellingMarkers(&documentMarkers1); |
+ EXPECT_EQ(1U, documentMarkers1.size()); |
+ |
+ WebString word = WebString::fromUTF8("wellcome"); |
+ WebVector<WebString> words(&word, 1); |
+ frame->removeSpellingMarkersUnderWords(words); |
+ |
+ WebVector<uint32_t> documentMarkers2; |
+ webViewHelper.webView()->spellingMarkers(&documentMarkers2); |
+ EXPECT_EQ(0U, documentMarkers2.size()); |
+} |
+ |
TEST_F(WebFrameTest, MarkerHashIdentifiers) { |
registerMockedHttpURLLoad("spell.html"); |
FrameTestHelpers::WebViewHelper webViewHelper; |