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

Side by Side Diff: ui/base/ime/candidate_window_unittest.cc

Issue 162723003: Migrate CandidateWindow::Entry to string16. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix browsertest compilation Created 6 years, 10 months 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
« no previous file with comments | « ui/base/ime/candidate_window.cc ('k') | ui/base/ime/chromeos/ime_bridge.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 more tests. 4 // TODO(nona): Add more tests.
5 5
6 #include "ui/base/ime/candidate_window.h" 6 #include "ui/base/ime/candidate_window.h"
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/strings/utf_string_conversions.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 15
15 namespace ui { 16 namespace ui {
16 17
17 namespace { 18 namespace {
18 19
19 const size_t kSampleCandidateSize = 3; 20 const size_t kSampleCandidateSize = 3;
20 const char* kSampleCandidate[] = { 21 const char* kSampleCandidate[] = {
21 "Sample Candidate 1", 22 "Sample Candidate 1",
22 "Sample Candidate 2", 23 "Sample Candidate 2",
23 "Sample Candidate 3", 24 "Sample Candidate 3",
24 }; 25 };
25 const char* kSampleDescriptionTitle[] = { 26 const char* kSampleDescriptionTitle[] = {
26 "Sample Description Title 1", 27 "Sample Description Title 1",
27 "Sample Description Title 2", 28 "Sample Description Title 2",
28 "Sample Description Title 3", 29 "Sample Description Title 3",
29 }; 30 };
30 const char* kSampleDescriptionBody[] = { 31 const char* kSampleDescriptionBody[] = {
31 "Sample Description Body 1", 32 "Sample Description Body 1",
32 "Sample Description Body 2", 33 "Sample Description Body 2",
33 "Sample Description Body 3", 34 "Sample Description Body 3",
34 }; 35 };
35 36
36 } 37 }
37 38
38 TEST(CandidateWindow, IsEqualTest) { 39 TEST(CandidateWindow, IsEqualTest) {
39 CandidateWindow cw1; 40 CandidateWindow cw1;
40 CandidateWindow cw2; 41 CandidateWindow cw2;
41 42
42 const char kSampleString1[] = "Sample 1"; 43 const base::string16 kSampleString1 = base::UTF8ToUTF16("Sample 1");
43 const char kSampleString2[] = "Sample 2"; 44 const base::string16 kSampleString2 = base::UTF8ToUTF16("Sample 2");
44 45
45 EXPECT_TRUE(cw1.IsEqual(cw2)); 46 EXPECT_TRUE(cw1.IsEqual(cw2));
46 EXPECT_TRUE(cw2.IsEqual(cw1)); 47 EXPECT_TRUE(cw2.IsEqual(cw1));
47 48
48 cw1.set_page_size(1); 49 cw1.set_page_size(1);
49 cw2.set_page_size(2); 50 cw2.set_page_size(2);
50 EXPECT_FALSE(cw1.IsEqual(cw2)); 51 EXPECT_FALSE(cw1.IsEqual(cw2));
51 EXPECT_FALSE(cw2.IsEqual(cw1)); 52 EXPECT_FALSE(cw2.IsEqual(cw1));
52 cw2.set_page_size(1); 53 cw2.set_page_size(1);
53 54
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 EXPECT_FALSE(cw1.IsEqual(cw2)); 130 EXPECT_FALSE(cw1.IsEqual(cw2));
130 EXPECT_FALSE(cw2.IsEqual(cw1)); 131 EXPECT_FALSE(cw2.IsEqual(cw1));
131 cw1.mutable_candidates()->clear(); 132 cw1.mutable_candidates()->clear();
132 cw2.mutable_candidates()->clear(); 133 cw2.mutable_candidates()->clear();
133 } 134 }
134 135
135 TEST(CandidateWindow, CopyFromTest) { 136 TEST(CandidateWindow, CopyFromTest) {
136 CandidateWindow cw1; 137 CandidateWindow cw1;
137 CandidateWindow cw2; 138 CandidateWindow cw2;
138 139
139 const char kSampleString[] = "Sample"; 140 const base::string16 kSampleString = base::UTF8ToUTF16("Sample");
140 141
141 cw1.set_page_size(1); 142 cw1.set_page_size(1);
142 cw1.set_cursor_position(2); 143 cw1.set_cursor_position(2);
143 cw1.set_is_cursor_visible(false); 144 cw1.set_is_cursor_visible(false);
144 cw1.set_orientation(CandidateWindow::HORIZONTAL); 145 cw1.set_orientation(CandidateWindow::HORIZONTAL);
145 cw1.set_show_window_at_composition(false); 146 cw1.set_show_window_at_composition(false);
146 147
147 CandidateWindow::Entry entry; 148 CandidateWindow::Entry entry;
148 entry.value = kSampleString; 149 entry.value = kSampleString;
149 entry.label = kSampleString; 150 entry.label = kSampleString;
150 entry.annotation = kSampleString; 151 entry.annotation = kSampleString;
151 entry.description_title = kSampleString; 152 entry.description_title = kSampleString;
152 entry.description_body = kSampleString; 153 entry.description_body = kSampleString;
153 cw1.mutable_candidates()->push_back(entry); 154 cw1.mutable_candidates()->push_back(entry);
154 155
155 cw2.CopyFrom(cw1); 156 cw2.CopyFrom(cw1);
156 EXPECT_TRUE(cw1.IsEqual(cw2)); 157 EXPECT_TRUE(cw1.IsEqual(cw2));
157 } 158 }
158 159
159 TEST(CandidateWindow, GetInfolistEntries_DenseCase) { 160 TEST(CandidateWindow, GetInfolistEntries_DenseCase) {
160 CandidateWindow candidate_window; 161 CandidateWindow candidate_window;
161 candidate_window.set_page_size(10); 162 candidate_window.set_page_size(10);
162 for (size_t i = 0; i < kSampleCandidateSize; ++i) { 163 for (size_t i = 0; i < kSampleCandidateSize; ++i) {
163 CandidateWindow::Entry entry; 164 CandidateWindow::Entry entry;
164 entry.value = kSampleCandidate[i]; 165 entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
165 entry.description_title = kSampleDescriptionTitle[i]; 166 entry.description_title = base::UTF8ToUTF16(kSampleDescriptionTitle[i]);
166 entry.description_body = kSampleDescriptionBody[i]; 167 entry.description_body = base::UTF8ToUTF16(kSampleDescriptionBody[i]);
167 candidate_window.mutable_candidates()->push_back(entry); 168 candidate_window.mutable_candidates()->push_back(entry);
168 } 169 }
169 candidate_window.set_cursor_position(1); 170 candidate_window.set_cursor_position(1);
170 171
171 std::vector<InfolistEntry> infolist_entries; 172 std::vector<InfolistEntry> infolist_entries;
172 bool has_highlighted = false; 173 bool has_highlighted = false;
173 174
174 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted); 175 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted);
175 176
176 EXPECT_EQ(kSampleCandidateSize, infolist_entries.size()); 177 EXPECT_EQ(kSampleCandidateSize, infolist_entries.size());
177 EXPECT_TRUE(has_highlighted); 178 EXPECT_TRUE(has_highlighted);
178 EXPECT_TRUE(infolist_entries[1].highlighted); 179 EXPECT_TRUE(infolist_entries[1].highlighted);
179 } 180 }
180 181
181 TEST(CandidateWindow, GetInfolistEntries_SparseCase) { 182 TEST(CandidateWindow, GetInfolistEntries_SparseCase) {
182 CandidateWindow candidate_window; 183 CandidateWindow candidate_window;
183 candidate_window.set_page_size(10); 184 candidate_window.set_page_size(10);
184 for (size_t i = 0; i < kSampleCandidateSize; ++i) { 185 for (size_t i = 0; i < kSampleCandidateSize; ++i) {
185 CandidateWindow::Entry entry; 186 CandidateWindow::Entry entry;
186 entry.value = kSampleCandidate[i]; 187 entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
187 candidate_window.mutable_candidates()->push_back(entry); 188 candidate_window.mutable_candidates()->push_back(entry);
188 } 189 }
189 190
190 std::vector<CandidateWindow::Entry>* candidates = 191 std::vector<CandidateWindow::Entry>* candidates =
191 candidate_window.mutable_candidates(); 192 candidate_window.mutable_candidates();
192 (*candidates)[2].description_title = kSampleDescriptionTitle[2]; 193 (*candidates)[2].description_title =
193 (*candidates)[2].description_body = kSampleDescriptionBody[2]; 194 base::UTF8ToUTF16(kSampleDescriptionTitle[2]);
195 (*candidates)[2].description_body =
196 base::UTF8ToUTF16(kSampleDescriptionBody[2]);
194 197
195 candidate_window.set_cursor_position(2); 198 candidate_window.set_cursor_position(2);
196 199
197 std::vector<InfolistEntry> infolist_entries; 200 std::vector<InfolistEntry> infolist_entries;
198 bool has_highlighted = false; 201 bool has_highlighted = false;
199 202
200 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted); 203 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted);
201 204
202 // Infolist entries skips empty descriptions, so expected entry size is 1. 205 // Infolist entries skips empty descriptions, so expected entry size is 1.
203 EXPECT_EQ(1UL, infolist_entries.size()); 206 EXPECT_EQ(1UL, infolist_entries.size());
204 EXPECT_TRUE(has_highlighted); 207 EXPECT_TRUE(has_highlighted);
205 EXPECT_TRUE(infolist_entries[0].highlighted); 208 EXPECT_TRUE(infolist_entries[0].highlighted);
206 } 209 }
207 210
208 TEST(CandidateWindow, GetInfolistEntries_SparseNoSelectionCase) { 211 TEST(CandidateWindow, GetInfolistEntries_SparseNoSelectionCase) {
209 CandidateWindow candidate_window; 212 CandidateWindow candidate_window;
210 candidate_window.set_page_size(10); 213 candidate_window.set_page_size(10);
211 214
212 for (size_t i = 0; i < kSampleCandidateSize; ++i) { 215 for (size_t i = 0; i < kSampleCandidateSize; ++i) {
213 CandidateWindow::Entry entry; 216 CandidateWindow::Entry entry;
214 entry.value = kSampleCandidate[i]; 217 entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
215 candidate_window.mutable_candidates()->push_back(entry); 218 candidate_window.mutable_candidates()->push_back(entry);
216 } 219 }
217 220
218 std::vector<CandidateWindow::Entry>* candidates = 221 std::vector<CandidateWindow::Entry>* candidates =
219 candidate_window.mutable_candidates(); 222 candidate_window.mutable_candidates();
220 (*candidates)[2].description_title = kSampleDescriptionTitle[2]; 223 (*candidates)[2].description_title =
221 (*candidates)[2].description_body = kSampleDescriptionBody[2]; 224 base::UTF8ToUTF16(kSampleDescriptionTitle[2]);
225 (*candidates)[2].description_body =
226 base::UTF8ToUTF16(kSampleDescriptionBody[2]);
222 227
223 candidate_window.set_cursor_position(0); 228 candidate_window.set_cursor_position(0);
224 229
225 std::vector<InfolistEntry> infolist_entries; 230 std::vector<InfolistEntry> infolist_entries;
226 bool has_highlighted; 231 bool has_highlighted;
227 232
228 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted); 233 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted);
229 234
230 // Infolist entries skips empty descriptions, so expected entry size is 1 and 235 // Infolist entries skips empty descriptions, so expected entry size is 1 and
231 // no highlighted entries. 236 // no highlighted entries.
232 EXPECT_EQ(1UL, infolist_entries.size()); 237 EXPECT_EQ(1UL, infolist_entries.size());
233 EXPECT_FALSE(has_highlighted); 238 EXPECT_FALSE(has_highlighted);
234 EXPECT_FALSE(infolist_entries[0].highlighted); 239 EXPECT_FALSE(infolist_entries[0].highlighted);
235 } 240 }
236 241
237 TEST(CandidateWindow, GetInfolistEntries_NoInfolistCase) { 242 TEST(CandidateWindow, GetInfolistEntries_NoInfolistCase) {
238 CandidateWindow candidate_window; 243 CandidateWindow candidate_window;
239 candidate_window.set_page_size(10); 244 candidate_window.set_page_size(10);
240 245
241 for (size_t i = 0; i < kSampleCandidateSize; ++i) { 246 for (size_t i = 0; i < kSampleCandidateSize; ++i) {
242 CandidateWindow::Entry entry; 247 CandidateWindow::Entry entry;
243 entry.value = kSampleCandidate[i]; 248 entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
244 candidate_window.mutable_candidates()->push_back(entry); 249 candidate_window.mutable_candidates()->push_back(entry);
245 } 250 }
246 candidate_window.set_cursor_position(1); 251 candidate_window.set_cursor_position(1);
247 252
248 std::vector<InfolistEntry> infolist_entries; 253 std::vector<InfolistEntry> infolist_entries;
249 bool has_highlighted = false; 254 bool has_highlighted = false;
250 255
251 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted); 256 candidate_window.GetInfolistEntries(&infolist_entries, &has_highlighted);
252 257
253 EXPECT_TRUE(infolist_entries.empty()); 258 EXPECT_TRUE(infolist_entries.empty());
254 EXPECT_FALSE(has_highlighted); 259 EXPECT_FALSE(has_highlighted);
255 } 260 }
256 261
257 } // namespace ui 262 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/ime/candidate_window.cc ('k') | ui/base/ime/chromeos/ime_bridge.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698