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

Side by Side Diff: chrome/renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc

Issue 63273002: Rename WebKit namespace to blink (part 4) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <vector> 5 #include <vector>
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/common/spellcheck_marker.h" 9 #include "chrome/common/spellcheck_marker.h"
10 #include "chrome/common/spellcheck_messages.h" 10 #include "chrome/common/spellcheck_messages.h"
11 #include "chrome/renderer/spellchecker/spellcheck_provider_test.h" 11 #include "chrome/renderer/spellchecker/spellcheck_provider_test.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "third_party/WebKit/public/platform/WebString.h" 13 #include "third_party/WebKit/public/platform/WebString.h"
14 14
15 // Tests for Hunspell functionality in SpellcheckingProvider 15 // Tests for Hunspell functionality in SpellcheckingProvider
16 16
17 namespace { 17 namespace {
18 18
19 TEST_F(SpellCheckProviderTest, UsingHunspell) { 19 TEST_F(SpellCheckProviderTest, UsingHunspell) {
20 FakeTextCheckingCompletion completion; 20 FakeTextCheckingCompletion completion;
21 provider_.RequestTextChecking(WebKit::WebString("hello"), 21 provider_.RequestTextChecking(blink::WebString("hello"),
22 &completion, 22 &completion,
23 std::vector<SpellCheckMarker>()); 23 std::vector<SpellCheckMarker>());
24 EXPECT_EQ(completion.completion_count_, 1U); 24 EXPECT_EQ(completion.completion_count_, 1U);
25 EXPECT_EQ(provider_.messages_.size(), 0U); 25 EXPECT_EQ(provider_.messages_.size(), 0U);
26 EXPECT_EQ(provider_.pending_text_request_size(), 0U); 26 EXPECT_EQ(provider_.pending_text_request_size(), 0U);
27 } 27 }
28 28
29 // Tests that the SpellCheckProvider object sends a spellcheck request when a 29 // Tests that the SpellCheckProvider object sends a spellcheck request when a
30 // user finishes typing a word. Also this test verifies that this object checks 30 // user finishes typing a word. Also this test verifies that this object checks
31 // only a line being edited by the user. 31 // only a line being edited by the user.
32 TEST_F(SpellCheckProviderTest, MultiLineText) { 32 TEST_F(SpellCheckProviderTest, MultiLineText) {
33 FakeTextCheckingCompletion completion; 33 FakeTextCheckingCompletion completion;
34 34
35 // Verify that the SpellCheckProvider class does not spellcheck empty text. 35 // Verify that the SpellCheckProvider class does not spellcheck empty text.
36 provider_.ResetResult(); 36 provider_.ResetResult();
37 provider_.RequestTextChecking( 37 provider_.RequestTextChecking(
38 WebKit::WebString(), &completion, std::vector<SpellCheckMarker>()); 38 blink::WebString(), &completion, std::vector<SpellCheckMarker>());
39 EXPECT_TRUE(provider_.text_.empty()); 39 EXPECT_TRUE(provider_.text_.empty());
40 40
41 // Verify that the SpellCheckProvider class does not spellcheck text while we 41 // Verify that the SpellCheckProvider class does not spellcheck text while we
42 // are typing a word. 42 // are typing a word.
43 provider_.ResetResult(); 43 provider_.ResetResult();
44 provider_.RequestTextChecking( 44 provider_.RequestTextChecking(
45 WebKit::WebString("First"), &completion, std::vector<SpellCheckMarker>()); 45 blink::WebString("First"), &completion, std::vector<SpellCheckMarker>());
46 EXPECT_TRUE(provider_.text_.empty()); 46 EXPECT_TRUE(provider_.text_.empty());
47 47
48 // Verify that the SpellCheckProvider class spellcheck the first word when we 48 // Verify that the SpellCheckProvider class spellcheck the first word when we
49 // type a space key, i.e. when we finish typing a word. 49 // type a space key, i.e. when we finish typing a word.
50 provider_.ResetResult(); 50 provider_.ResetResult();
51 provider_.RequestTextChecking(WebKit::WebString("First "), 51 provider_.RequestTextChecking(blink::WebString("First "),
52 &completion, 52 &completion,
53 std::vector<SpellCheckMarker>()); 53 std::vector<SpellCheckMarker>());
54 EXPECT_EQ(ASCIIToUTF16("First "), provider_.text_); 54 EXPECT_EQ(ASCIIToUTF16("First "), provider_.text_);
55 55
56 // Verify that the SpellCheckProvider class spellcheck the first line when we 56 // Verify that the SpellCheckProvider class spellcheck the first line when we
57 // type a return key, i.e. when we finish typing a line. 57 // type a return key, i.e. when we finish typing a line.
58 provider_.ResetResult(); 58 provider_.ResetResult();
59 provider_.RequestTextChecking(WebKit::WebString("First Second\n"), 59 provider_.RequestTextChecking(blink::WebString("First Second\n"),
60 &completion, 60 &completion,
61 std::vector<SpellCheckMarker>()); 61 std::vector<SpellCheckMarker>());
62 EXPECT_EQ(ASCIIToUTF16("First Second\n"), provider_.text_); 62 EXPECT_EQ(ASCIIToUTF16("First Second\n"), provider_.text_);
63 63
64 // Verify that the SpellCheckProvider class spellcheck the lines when we 64 // Verify that the SpellCheckProvider class spellcheck the lines when we
65 // finish typing a word "Third" to the second line. 65 // finish typing a word "Third" to the second line.
66 provider_.ResetResult(); 66 provider_.ResetResult();
67 provider_.RequestTextChecking(WebKit::WebString("First Second\nThird "), 67 provider_.RequestTextChecking(blink::WebString("First Second\nThird "),
68 &completion, 68 &completion,
69 std::vector<SpellCheckMarker>()); 69 std::vector<SpellCheckMarker>());
70 EXPECT_EQ(ASCIIToUTF16("First Second\nThird "), provider_.text_); 70 EXPECT_EQ(ASCIIToUTF16("First Second\nThird "), provider_.text_);
71 71
72 // Verify that the SpellCheckProvider class does not send a spellcheck request 72 // Verify that the SpellCheckProvider class does not send a spellcheck request
73 // when a user inserts whitespace characters. 73 // when a user inserts whitespace characters.
74 provider_.ResetResult(); 74 provider_.ResetResult();
75 provider_.RequestTextChecking(WebKit::WebString("First Second\nThird "), 75 provider_.RequestTextChecking(blink::WebString("First Second\nThird "),
76 &completion, 76 &completion,
77 std::vector<SpellCheckMarker>()); 77 std::vector<SpellCheckMarker>());
78 EXPECT_TRUE(provider_.text_.empty()); 78 EXPECT_TRUE(provider_.text_.empty());
79 79
80 // Verify that the SpellCheckProvider class spellcheck the lines when we type 80 // Verify that the SpellCheckProvider class spellcheck the lines when we type
81 // a period. 81 // a period.
82 provider_.ResetResult(); 82 provider_.ResetResult();
83 provider_.RequestTextChecking( 83 provider_.RequestTextChecking(
84 WebKit::WebString("First Second\nThird Fourth."), 84 blink::WebString("First Second\nThird Fourth."),
85 &completion, 85 &completion,
86 std::vector<SpellCheckMarker>()); 86 std::vector<SpellCheckMarker>());
87 EXPECT_EQ(ASCIIToUTF16("First Second\nThird Fourth."), provider_.text_); 87 EXPECT_EQ(ASCIIToUTF16("First Second\nThird Fourth."), provider_.text_);
88 } 88 }
89 89
90 // Tests that the SpellCheckProvider class does not send requests to the 90 // Tests that the SpellCheckProvider class does not send requests to the
91 // spelling service when not necessary. 91 // spelling service when not necessary.
92 TEST_F(SpellCheckProviderTest, CancelUnnecessaryRequests) { 92 TEST_F(SpellCheckProviderTest, CancelUnnecessaryRequests) {
93 FakeTextCheckingCompletion completion; 93 FakeTextCheckingCompletion completion;
94 provider_.RequestTextChecking(WebKit::WebString("hello."), 94 provider_.RequestTextChecking(blink::WebString("hello."),
95 &completion, 95 &completion,
96 std::vector<SpellCheckMarker>()); 96 std::vector<SpellCheckMarker>());
97 EXPECT_EQ(completion.completion_count_, 1U); 97 EXPECT_EQ(completion.completion_count_, 1U);
98 EXPECT_EQ(completion.cancellation_count_, 0U); 98 EXPECT_EQ(completion.cancellation_count_, 0U);
99 EXPECT_EQ(provider_.spelling_service_call_count_, 1U); 99 EXPECT_EQ(provider_.spelling_service_call_count_, 1U);
100 100
101 // Test that the SpellCheckProvider does not send a request with the same text 101 // Test that the SpellCheckProvider does not send a request with the same text
102 // as above. 102 // as above.
103 provider_.RequestTextChecking(WebKit::WebString("hello."), 103 provider_.RequestTextChecking(blink::WebString("hello."),
104 &completion, 104 &completion,
105 std::vector<SpellCheckMarker>()); 105 std::vector<SpellCheckMarker>());
106 EXPECT_EQ(completion.completion_count_, 2U); 106 EXPECT_EQ(completion.completion_count_, 2U);
107 EXPECT_EQ(completion.cancellation_count_, 0U); 107 EXPECT_EQ(completion.cancellation_count_, 0U);
108 EXPECT_EQ(provider_.spelling_service_call_count_, 1U); 108 EXPECT_EQ(provider_.spelling_service_call_count_, 1U);
109 109
110 // Test that the SpellCheckProvider class cancels an incoming request that 110 // Test that the SpellCheckProvider class cancels an incoming request that
111 // does not include any words. 111 // does not include any words.
112 provider_.RequestTextChecking(WebKit::WebString(":-)"), 112 provider_.RequestTextChecking(blink::WebString(":-)"),
113 &completion, 113 &completion,
114 std::vector<SpellCheckMarker>()); 114 std::vector<SpellCheckMarker>());
115 EXPECT_EQ(completion.completion_count_, 3U); 115 EXPECT_EQ(completion.completion_count_, 3U);
116 EXPECT_EQ(completion.cancellation_count_, 1U); 116 EXPECT_EQ(completion.cancellation_count_, 1U);
117 EXPECT_EQ(provider_.spelling_service_call_count_, 1U); 117 EXPECT_EQ(provider_.spelling_service_call_count_, 1U);
118 118
119 // Test that the SpellCheckProvider class sends a request when it receives a 119 // Test that the SpellCheckProvider class sends a request when it receives a
120 // Russian word. 120 // Russian word.
121 const wchar_t kRussianWord[] = L"\x0431\x0451\x0434\x0440\x0430"; 121 const wchar_t kRussianWord[] = L"\x0431\x0451\x0434\x0440\x0430";
122 provider_.RequestTextChecking(WebKit::WebString(WideToUTF16(kRussianWord)), 122 provider_.RequestTextChecking(blink::WebString(WideToUTF16(kRussianWord)),
123 &completion, 123 &completion,
124 std::vector<SpellCheckMarker>()); 124 std::vector<SpellCheckMarker>());
125 EXPECT_EQ(completion.completion_count_, 4U); 125 EXPECT_EQ(completion.completion_count_, 4U);
126 EXPECT_EQ(completion.cancellation_count_, 1U); 126 EXPECT_EQ(completion.cancellation_count_, 1U);
127 EXPECT_EQ(provider_.spelling_service_call_count_, 2U); 127 EXPECT_EQ(provider_.spelling_service_call_count_, 2U);
128 } 128 }
129 129
130 // Tests that the SpellCheckProvider calls didFinishCheckingText() when 130 // Tests that the SpellCheckProvider calls didFinishCheckingText() when
131 // necessary. 131 // necessary.
132 TEST_F(SpellCheckProviderTest, CompleteNecessaryRequests) { 132 TEST_F(SpellCheckProviderTest, CompleteNecessaryRequests) {
133 FakeTextCheckingCompletion completion; 133 FakeTextCheckingCompletion completion;
134 134
135 string16 text = ASCIIToUTF16("Icland is an icland "); 135 string16 text = ASCIIToUTF16("Icland is an icland ");
136 provider_.RequestTextChecking( 136 provider_.RequestTextChecking(
137 WebKit::WebString(text), &completion, std::vector<SpellCheckMarker>()); 137 blink::WebString(text), &completion, std::vector<SpellCheckMarker>());
138 EXPECT_EQ(0U, completion.cancellation_count_) << "Should finish checking \"" 138 EXPECT_EQ(0U, completion.cancellation_count_) << "Should finish checking \""
139 << text << "\""; 139 << text << "\"";
140 140
141 const int kSubstringLength = 18; 141 const int kSubstringLength = 18;
142 string16 substring = text.substr(0, kSubstringLength); 142 string16 substring = text.substr(0, kSubstringLength);
143 provider_.RequestTextChecking(WebKit::WebString(substring), 143 provider_.RequestTextChecking(blink::WebString(substring),
144 &completion, 144 &completion,
145 std::vector<SpellCheckMarker>()); 145 std::vector<SpellCheckMarker>());
146 EXPECT_EQ(0U, completion.cancellation_count_) << "Should finish checking \"" 146 EXPECT_EQ(0U, completion.cancellation_count_) << "Should finish checking \""
147 << substring << "\""; 147 << substring << "\"";
148 148
149 provider_.RequestTextChecking( 149 provider_.RequestTextChecking(
150 WebKit::WebString(text), &completion, std::vector<SpellCheckMarker>()); 150 blink::WebString(text), &completion, std::vector<SpellCheckMarker>());
151 EXPECT_EQ(0U, completion.cancellation_count_) << "Should finish checking \"" 151 EXPECT_EQ(0U, completion.cancellation_count_) << "Should finish checking \""
152 << text << "\""; 152 << text << "\"";
153 } 153 }
154 154
155 // Tests that the SpellCheckProvider cancels spelling requests in the middle of 155 // Tests that the SpellCheckProvider cancels spelling requests in the middle of
156 // a word. 156 // a word.
157 TEST_F(SpellCheckProviderTest, CancelMidWordRequests) { 157 TEST_F(SpellCheckProviderTest, CancelMidWordRequests) {
158 FakeTextCheckingCompletion completion; 158 FakeTextCheckingCompletion completion;
159 provider_.RequestTextChecking(WebKit::WebString("hello "), 159 provider_.RequestTextChecking(blink::WebString("hello "),
160 &completion, 160 &completion,
161 std::vector<SpellCheckMarker>()); 161 std::vector<SpellCheckMarker>());
162 EXPECT_EQ(completion.completion_count_, 1U); 162 EXPECT_EQ(completion.completion_count_, 1U);
163 EXPECT_EQ(completion.cancellation_count_, 0U); 163 EXPECT_EQ(completion.cancellation_count_, 0U);
164 EXPECT_EQ(provider_.spelling_service_call_count_, 1U); 164 EXPECT_EQ(provider_.spelling_service_call_count_, 1U);
165 165
166 provider_.RequestTextChecking(WebKit::WebString("hello world"), 166 provider_.RequestTextChecking(blink::WebString("hello world"),
167 &completion, 167 &completion,
168 std::vector<SpellCheckMarker>()); 168 std::vector<SpellCheckMarker>());
169 EXPECT_EQ(completion.completion_count_, 2U); 169 EXPECT_EQ(completion.completion_count_, 2U);
170 EXPECT_EQ(completion.cancellation_count_, 1U); 170 EXPECT_EQ(completion.cancellation_count_, 1U);
171 EXPECT_EQ(provider_.spelling_service_call_count_, 1U); 171 EXPECT_EQ(provider_.spelling_service_call_count_, 1U);
172 172
173 provider_.RequestTextChecking(WebKit::WebString("hello world."), 173 provider_.RequestTextChecking(blink::WebString("hello world."),
174 &completion, 174 &completion,
175 std::vector<SpellCheckMarker>()); 175 std::vector<SpellCheckMarker>());
176 EXPECT_EQ(completion.completion_count_, 3U); 176 EXPECT_EQ(completion.completion_count_, 3U);
177 EXPECT_EQ(completion.cancellation_count_, 1U); 177 EXPECT_EQ(completion.cancellation_count_, 1U);
178 EXPECT_EQ(provider_.spelling_service_call_count_, 2U); 178 EXPECT_EQ(provider_.spelling_service_call_count_, 2U);
179 } 179 }
180 180
181 } // namespace 181 } // namespace
OLDNEW
« no previous file with comments | « chrome/renderer/spellchecker/spellcheck_provider.cc ('k') | chrome/renderer/spellchecker/spellcheck_provider_mac_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698