Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: components/spellcheck/renderer/spellcheck_provider_unittest.cc

Issue 2494123002: Spellcheck : Fix caching in cases where text is deleted. (Closed)
Patch Set: rebase + fix year Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/spellcheck/renderer/spellcheck_provider_test.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/spellcheck/renderer/spellcheck_provider_unittest.cc
diff --git a/components/spellcheck/renderer/spellcheck_provider_unittest.cc b/components/spellcheck/renderer/spellcheck_provider_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a3b00a13460895d8752192ade3d490107299f01c
--- /dev/null
+++ b/components/spellcheck/renderer/spellcheck_provider_unittest.cc
@@ -0,0 +1,51 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/strings/utf_string_conversions.h"
+#include "components/spellcheck/renderer/spellcheck_provider_test.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/WebKit/public/platform/WebString.h"
+#include "third_party/WebKit/public/platform/WebVector.h"
+#include "third_party/WebKit/public/web/WebTextCheckingCompletion.h"
+#include "third_party/WebKit/public/web/WebTextCheckingResult.h"
+
+namespace {
+
+class SpellCheckProviderCacheTest : public SpellCheckProviderTest {};
+
+TEST_F(SpellCheckProviderCacheTest, SubstringWithoutMisspellings) {
+ FakeTextCheckingCompletion completion;
+
+ blink::WebVector<blink::WebTextCheckingResult> last_results;
+ provider_.SetLastResults(base::ASCIIToUTF16("This is a test"), last_results);
+ EXPECT_TRUE(provider_.SatisfyRequestFromCache(base::ASCIIToUTF16("This is a"),
+ &completion));
+ EXPECT_EQ(completion.completion_count_, 1U);
+}
+
+TEST_F(SpellCheckProviderCacheTest, SubstringWithMisspellings) {
+ FakeTextCheckingCompletion completion;
+
+ blink::WebVector<blink::WebTextCheckingResult> last_results;
+ std::vector<blink::WebTextCheckingResult> results;
+ results.push_back(blink::WebTextCheckingResult(
+ blink::WebTextDecorationTypeSpelling, 5, 3, blink::WebString("isq")));
+ last_results.assign(results);
+ provider_.SetLastResults(base::ASCIIToUTF16("This isq a test"), last_results);
+ EXPECT_TRUE(provider_.SatisfyRequestFromCache(
+ base::ASCIIToUTF16("This isq a"), &completion));
+ EXPECT_EQ(completion.completion_count_, 1U);
+}
+
+TEST_F(SpellCheckProviderCacheTest, ShorterTextNotSubstring) {
+ FakeTextCheckingCompletion completion;
+
+ blink::WebVector<blink::WebTextCheckingResult> last_results;
+ provider_.SetLastResults(base::ASCIIToUTF16("This is a test"), last_results);
+ EXPECT_FALSE(provider_.SatisfyRequestFromCache(
+ base::ASCIIToUTF16("That is a"), &completion));
+ EXPECT_EQ(completion.completion_count_, 0U);
+}
+
+} // namespace
« no previous file with comments | « components/spellcheck/renderer/spellcheck_provider_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698