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

Side by Side Diff: chrome/browser/chromeos/input_method/candidate_window_view_unittest.cc

Issue 8799005: Revert 112965 - Support mozc suggest window on ChromeOS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // TODO(nona): Add unittests for UpdateCandidates.
5 4
6 #include "chrome/browser/chromeos/input_method/candidate_window_view.h" 5 #include "chrome/browser/chromeos/input_method/candidate_window_view.h"
7 6
8 #include <string>
9
10 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
11 8
12 namespace chromeos { 9 namespace chromeos {
13 namespace input_method { 10 namespace input_method {
14 11
15 namespace {
16
17 void ClearInputMethodLookupTable(InputMethodLookupTable* table) {
18 table->visible = false;
19 table->cursor_absolute_index = 0;
20 table->page_size = 10;
21 table->candidates.clear();
22 table->orientation = InputMethodLookupTable::kVertical;
23 table->labels.clear();
24 table->annotations.clear();
25 table->mozc_candidates.Clear();
26 }
27
28 void InitializeMozcCandidates(InputMethodLookupTable* table) {
29 table->mozc_candidates.Clear();
30 table->mozc_candidates.set_position(0);
31 table->mozc_candidates.set_size(0);
32 }
33
34 void SetCaretRectIntoMozcCandidates(
35 InputMethodLookupTable* table,
36 mozc::commands::Candidates::CandidateWindowLocation location,
37 int x,
38 int y,
39 int width,
40 int height) {
41 table->mozc_candidates.set_window_location(location);
42 mozc::commands::Rectangle *rect =
43 table->mozc_candidates.mutable_composition_rectangle();
44 rect->set_x(x);
45 rect->set_y(y);
46 rect->set_width(width);
47 rect->set_height(height);
48 }
49
50 void AppendCandidateIntoMozcCandidates(InputMethodLookupTable* table,
51 std::string value) {
52 mozc::commands::Candidates::Candidate *candidate =
53 table->mozc_candidates.add_candidate();
54
55 int current_entry_count = table->mozc_candidates.candidate_size();
56 candidate->set_index(current_entry_count);
57 candidate->set_value(value);
58 candidate->set_id(current_entry_count);
59 candidate->set_information_id(current_entry_count);
60
61
62 }
63
64 } // namespace
65
66 TEST(CandidateWindowViewTest, ShouldUpdateCandidateViewsTest) { 12 TEST(CandidateWindowViewTest, ShouldUpdateCandidateViewsTest) {
67 // This test verifies the process of judging update lookup-table or not. 13 // This test verifies the process of judging update lookup-table or not.
68 // This judgement is handled by ShouldUpdateCandidateViews, which returns true 14 // This judgement is handled by ShouldUpdateCandidateViews, which returns true
69 // if update is necessary and vice versa. 15 // if update is necessary and vice versa.
70 const char* kSampleCandidate1 = "Sample Candidate 1"; 16 const char* kSampleCandidate1 = "Sample Candidate 1";
71 const char* kSampleCandidate2 = "Sample Candidate 2"; 17 const char* kSampleCandidate2 = "Sample Candidate 2";
72 const char* kSampleCandidate3 = "Sample Candidate 3"; 18 const char* kSampleCandidate3 = "Sample Candidate 3";
73 19
74 const char* kSampleAnnotation1 = "Sample Annotation 1"; 20 const char* kSampleAnnotation1 = "Sample Annotation 1";
75 const char* kSampleAnnotation2 = "Sample Annotation 2"; 21 const char* kSampleAnnotation2 = "Sample Annotation 2";
76 const char* kSampleAnnotation3 = "Sample Annotation 3"; 22 const char* kSampleAnnotation3 = "Sample Annotation 3";
77 23
78 const char* kSampleLabel1 = "Sample Label 1"; 24 const char* kSampleLabel1 = "Sample Label 1";
79 const char* kSampleLabel2 = "Sample Label 2"; 25 const char* kSampleLabel2 = "Sample Label 2";
80 const char* kSampleLabel3 = "Sample Label 3"; 26 const char* kSampleLabel3 = "Sample Label 3";
81 27
82 InputMethodLookupTable old_table; 28 InputMethodLookupTable old_table;
83 InputMethodLookupTable new_table; 29 InputMethodLookupTable new_table;
84 30
85 ClearInputMethodLookupTable(&old_table);
86 ClearInputMethodLookupTable(&new_table);
87
88 old_table.visible = true; 31 old_table.visible = true;
89 old_table.cursor_absolute_index = 0; 32 old_table.cursor_absolute_index = 0;
90 old_table.page_size = 1; 33 old_table.page_size = 1;
91 old_table.candidates.clear(); 34 old_table.candidates.clear();
92 old_table.orientation = InputMethodLookupTable::kVertical; 35 old_table.orientation = InputMethodLookupTable::kVertical;
93 old_table.labels.clear(); 36 old_table.labels.clear();
94 old_table.annotations.clear(); 37 old_table.annotations.clear();
95 38
96 new_table = old_table; 39 new_table = old_table;
97 40
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 new_table)); 112 new_table));
170 new_table.annotations.clear(); 113 new_table.annotations.clear();
171 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table, 114 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
172 new_table)); 115 new_table));
173 new_table.annotations.push_back(kSampleAnnotation2); 116 new_table.annotations.push_back(kSampleAnnotation2);
174 old_table.annotations.clear(); 117 old_table.annotations.clear();
175 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table, 118 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
176 new_table)); 119 new_table));
177 } 120 }
178 121
179 TEST(CandidateWindowViewTest, MozcSuggestWindowShouldUpdateTest) {
180 // ShouldUpdateCandidateViews method should also judge with consideration of
181 // the mozc specific candidate information. Following tests verify them.
182 const char* kSampleCandidate1 = "Sample Candidate 1";
183 const char* kSampleCandidate2 = "Sample Candidate 2";
184
185 const int kCaretPositionX1 = 10;
186 const int kCaretPositionY1 = 20;
187 const int kCaretPositionWidth1 = 30;
188 const int kCaretPositionHeight1 = 40;
189
190 const int kCaretPositionX2 = 15;
191 const int kCaretPositionY2 = 25;
192 const int kCaretPositionWidth2 = 35;
193 const int kCaretPositionHeight2 = 45;
194
195 InputMethodLookupTable old_table;
196 InputMethodLookupTable new_table;
197
198 // State chagne from using non-mozc candidate to mozc candidate.
199 ClearInputMethodLookupTable(&old_table);
200 ClearInputMethodLookupTable(&new_table);
201
202 old_table.candidates.push_back(kSampleCandidate1);
203 InitializeMozcCandidates(&new_table);
204 AppendCandidateIntoMozcCandidates(&new_table, kSampleCandidate1);
205 SetCaretRectIntoMozcCandidates(&new_table,
206 mozc::commands::Candidates::COMPOSITION,
207 kCaretPositionX1,
208 kCaretPositionY1,
209 kCaretPositionWidth1,
210 kCaretPositionHeight1);
211
212 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
213 new_table));
214
215 // State change from using mozc candidate to non-mozc candidate
216 ClearInputMethodLookupTable(&old_table);
217 ClearInputMethodLookupTable(&new_table);
218
219 InitializeMozcCandidates(&old_table);
220 AppendCandidateIntoMozcCandidates(&old_table, kSampleCandidate1);
221 SetCaretRectIntoMozcCandidates(&old_table,
222 mozc::commands::Candidates::COMPOSITION,
223 kCaretPositionX1,
224 kCaretPositionY1,
225 kCaretPositionWidth1,
226 kCaretPositionHeight1);
227
228 new_table.candidates.push_back(kSampleCandidate1);
229
230 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
231 new_table));
232
233 // State change from using mozc candidate to mozc candidate
234
235 // No change
236 ClearInputMethodLookupTable(&old_table);
237 ClearInputMethodLookupTable(&new_table);
238
239 InitializeMozcCandidates(&old_table);
240 AppendCandidateIntoMozcCandidates(&old_table, kSampleCandidate1);
241 SetCaretRectIntoMozcCandidates(&old_table,
242 mozc::commands::Candidates::COMPOSITION,
243 kCaretPositionX1,
244 kCaretPositionY1,
245 kCaretPositionWidth1,
246 kCaretPositionHeight1);
247
248 InitializeMozcCandidates(&new_table);
249 AppendCandidateIntoMozcCandidates(&new_table, kSampleCandidate1);
250 SetCaretRectIntoMozcCandidates(&new_table,
251 mozc::commands::Candidates::COMPOSITION,
252 kCaretPositionX1,
253 kCaretPositionY1,
254 kCaretPositionWidth1,
255 kCaretPositionHeight1);
256
257 EXPECT_FALSE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
258 new_table));
259 // Position change only
260 ClearInputMethodLookupTable(&old_table);
261 ClearInputMethodLookupTable(&new_table);
262
263 InitializeMozcCandidates(&old_table);
264 AppendCandidateIntoMozcCandidates(&old_table, kSampleCandidate1);
265 SetCaretRectIntoMozcCandidates(&old_table,
266 mozc::commands::Candidates::COMPOSITION,
267 kCaretPositionX1,
268 kCaretPositionY1,
269 kCaretPositionWidth1,
270 kCaretPositionHeight1);
271
272 InitializeMozcCandidates(&new_table);
273 AppendCandidateIntoMozcCandidates(&new_table, kSampleCandidate1);
274 SetCaretRectIntoMozcCandidates(&new_table,
275 mozc::commands::Candidates::COMPOSITION,
276 kCaretPositionX2,
277 kCaretPositionY2,
278 kCaretPositionWidth2,
279 kCaretPositionHeight2);
280
281 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
282 new_table));
283 // Candidate contents only
284 ClearInputMethodLookupTable(&old_table);
285 ClearInputMethodLookupTable(&new_table);
286
287 InitializeMozcCandidates(&old_table);
288 AppendCandidateIntoMozcCandidates(&old_table, kSampleCandidate1);
289 SetCaretRectIntoMozcCandidates(&old_table,
290 mozc::commands::Candidates::COMPOSITION,
291 kCaretPositionX1,
292 kCaretPositionY1,
293 kCaretPositionWidth1,
294 kCaretPositionHeight1);
295
296 InitializeMozcCandidates(&new_table);
297 AppendCandidateIntoMozcCandidates(&new_table, kSampleCandidate2);
298 SetCaretRectIntoMozcCandidates(&new_table,
299 mozc::commands::Candidates::COMPOSITION,
300 kCaretPositionX1,
301 kCaretPositionY1,
302 kCaretPositionWidth1,
303 kCaretPositionHeight1);
304
305 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
306 new_table));
307
308 // Both candidate and position
309 ClearInputMethodLookupTable(&old_table);
310 ClearInputMethodLookupTable(&new_table);
311
312 InitializeMozcCandidates(&old_table);
313 AppendCandidateIntoMozcCandidates(&old_table, kSampleCandidate1);
314 SetCaretRectIntoMozcCandidates(&old_table,
315 mozc::commands::Candidates::COMPOSITION,
316 kCaretPositionX1,
317 kCaretPositionY1,
318 kCaretPositionWidth1,
319 kCaretPositionHeight1);
320
321 InitializeMozcCandidates(&new_table);
322 AppendCandidateIntoMozcCandidates(&new_table, kSampleCandidate2);
323 SetCaretRectIntoMozcCandidates(&new_table,
324 mozc::commands::Candidates::COMPOSITION,
325 kCaretPositionX2,
326 kCaretPositionY2,
327 kCaretPositionWidth2,
328 kCaretPositionHeight2);
329
330 EXPECT_TRUE(CandidateWindowView::ShouldUpdateCandidateViews(old_table,
331 new_table));
332 }
333
334 } // namespace input_method 122 } // namespace input_method
335 } // namespace chromeos 123 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698