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

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

Issue 7508014: Add member variables to VirtualKeyboardSelector (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: code review Created 9 years, 4 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
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 4
5 #include "chrome/browser/chromeos/input_method/virtual_keyboard_selector.h" 5 #include "chrome/browser/chromeos/input_method/virtual_keyboard_selector.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace ime = ::chromeos::input_method;
11
10 // For EXPECT_TRUE calls below. The operator has to be in the global namespace. 12 // For EXPECT_TRUE calls below. The operator has to be in the global namespace.
11 static bool operator==(const chromeos::input_method::VirtualKeyboard& lhs, 13 static bool operator==(
12 const chromeos::input_method::VirtualKeyboard& rhs) { 14 const ime::VirtualKeyboard& lhs, const ime::VirtualKeyboard& rhs) {
13 return lhs.GetURLForLayout("") == rhs.GetURLForLayout(""); 15 return lhs.GetURLForLayout("") == rhs.GetURLForLayout("");
14 } 16 }
15 17
16 namespace { 18 namespace {
17 19
20 typedef std::multimap<
21 std::string, const ime::VirtualKeyboard*> LayoutToKeyboard;
22
23 // Returns true if [start, end) contains all of the |urls|.
mazda 2011/08/09 02:28:24 The comment sounds differently from the actual beh
Yusuke Sato 2011/08/09 05:25:49 Done.
24 template <size_t L> bool CheckUrls(LayoutToKeyboard::const_iterator start,
25 LayoutToKeyboard::const_iterator end,
26 const char* (&urls)[L]) {
27 std::set<GURL> url_set;
28 for (size_t i = 0; i < L; ++i) {
29 url_set.insert(GURL(urls[i]));
30 }
31 LayoutToKeyboard::const_iterator iter;
32 for (iter = start; iter != end; ++iter) {
33 if (url_set.erase(iter->second->url()) != 1) {
34 LOG(ERROR) << "Unexpected URL: " << iter->second->url().spec();
35 return false;
36 }
37 }
38 return url_set.empty();
39 }
40
18 template <size_t L> 41 template <size_t L>
19 std::set<std::string> CreateLayoutSet(const char* (&layouts)[L]) { 42 std::set<std::string> CreateLayoutSet(const char* (&layouts)[L]) {
20 std::set<std::string> result; 43 std::set<std::string> result;
21 for (size_t i = 0; i < L; ++i) { 44 for (size_t i = 0; i < L; ++i) {
22 result.insert(layouts[i]); 45 result.insert(layouts[i]);
23 } 46 }
24 return result; 47 return result;
25 } 48 }
26 49
27 } // namespace 50 } // namespace
(...skipping 12 matching lines...) Expand all
40 TestableVirtualKeyboardSelector selector; 63 TestableVirtualKeyboardSelector selector;
41 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("us")); 64 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("us"));
42 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("")); 65 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard(""));
43 } 66 }
44 67
45 TEST(VirtualKeyboardSelectorTest, TestAddVirtualKeyboard) { 68 TEST(VirtualKeyboardSelectorTest, TestAddVirtualKeyboard) {
46 static const char* layouts[] = { "a", "b", "c" }; 69 static const char* layouts[] = { "a", "b", "c" };
47 70
48 // The first two keyboards have the same URL. 71 // The first two keyboards have the same URL.
49 VirtualKeyboard virtual_keyboard_1( 72 VirtualKeyboard virtual_keyboard_1(
50 GURL("http://url1"), CreateLayoutSet(layouts), true /* is_system */); 73 GURL("http://url1"), "", CreateLayoutSet(layouts), true /* is_system */);
51 VirtualKeyboard virtual_keyboard_2( 74 VirtualKeyboard virtual_keyboard_2(
52 GURL("http://url1"), CreateLayoutSet(layouts), false /* is_system */); 75 GURL("http://url1"), "", CreateLayoutSet(layouts), false /* is_system */);
53 VirtualKeyboard virtual_keyboard_3( 76 VirtualKeyboard virtual_keyboard_3(
54 GURL("http://url2"), CreateLayoutSet(layouts), false /* is_system */); 77 GURL("http://url2"), "", CreateLayoutSet(layouts), false /* is_system */);
55 78
56 TestableVirtualKeyboardSelector selector; 79 TestableVirtualKeyboardSelector selector;
57 EXPECT_TRUE(selector.AddVirtualKeyboard( 80 EXPECT_TRUE(selector.AddVirtualKeyboard(
58 virtual_keyboard_1.url(), 81 virtual_keyboard_1.url(),
82 virtual_keyboard_1.name(),
59 virtual_keyboard_1.supported_layouts(), 83 virtual_keyboard_1.supported_layouts(),
60 virtual_keyboard_1.is_system())); 84 virtual_keyboard_1.is_system()));
61 85
62 // You can't add the same keyboard twice. 86 // You can't add the same keyboard twice.
63 EXPECT_FALSE(selector.AddVirtualKeyboard( 87 EXPECT_FALSE(selector.AddVirtualKeyboard(
64 virtual_keyboard_1.url(), 88 virtual_keyboard_1.url(),
89 virtual_keyboard_1.name(),
65 virtual_keyboard_1.supported_layouts(), 90 virtual_keyboard_1.supported_layouts(),
66 virtual_keyboard_1.is_system())); 91 virtual_keyboard_1.is_system()));
67 EXPECT_FALSE(selector.AddVirtualKeyboard( 92 EXPECT_FALSE(selector.AddVirtualKeyboard(
68 virtual_keyboard_2.url(), 93 virtual_keyboard_2.url(),
94 virtual_keyboard_2.name(),
69 virtual_keyboard_2.supported_layouts(), 95 virtual_keyboard_2.supported_layouts(),
70 virtual_keyboard_2.is_system())); 96 virtual_keyboard_2.is_system()));
71 97
72 EXPECT_TRUE(selector.AddVirtualKeyboard( 98 EXPECT_TRUE(selector.AddVirtualKeyboard(
73 virtual_keyboard_3.url(), 99 virtual_keyboard_3.url(),
100 virtual_keyboard_3.name(),
74 virtual_keyboard_3.supported_layouts(), 101 virtual_keyboard_3.supported_layouts(),
75 virtual_keyboard_3.is_system())); 102 virtual_keyboard_3.is_system()));
76 } 103 }
77 104
78 TEST(VirtualKeyboardSelectorTest, TestSystemKeyboard) { 105 TEST(VirtualKeyboardSelectorTest, TestSystemKeyboard) {
79 static const char* layouts[] = { "a", "b", "c" }; 106 static const char* layouts[] = { "a", "b", "c" };
80 VirtualKeyboard system_virtual_keyboard( 107 VirtualKeyboard system_virtual_keyboard(
81 GURL("http://system"), CreateLayoutSet(layouts), true /* is_system */); 108 GURL("http://system"), "", CreateLayoutSet(layouts), true /* is_system */) ;
82 109
83 TestableVirtualKeyboardSelector selector; 110 TestableVirtualKeyboardSelector selector;
84 EXPECT_TRUE(selector.AddVirtualKeyboard( 111 EXPECT_TRUE(selector.AddVirtualKeyboard(
85 system_virtual_keyboard.url(), 112 system_virtual_keyboard.url(),
113 system_virtual_keyboard.name(),
86 system_virtual_keyboard.supported_layouts(), 114 system_virtual_keyboard.supported_layouts(),
87 system_virtual_keyboard.is_system())); 115 system_virtual_keyboard.is_system()));
88 116
89 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a")); 117 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
90 EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("a")); 118 EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("a"));
91 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("b")); 119 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("b"));
92 EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("b")); 120 EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("b"));
93 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 121 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
94 EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("c")); 122 EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("c"));
95 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("d")); 123 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("d"));
96 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("aa")); 124 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("aa"));
97 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("")); 125 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard(""));
98 } 126 }
99 127
100 TEST(VirtualKeyboardSelectorTest, TestTwoSystemKeyboards) { 128 TEST(VirtualKeyboardSelectorTest, TestTwoSystemKeyboards) {
101 static const char* layouts_1[] = { "a", "b", "c" }; 129 static const char* layouts_1[] = { "a", "b", "c" };
102 static const char* layouts_2[] = { "a", "c", "d" }; 130 static const char* layouts_2[] = { "a", "c", "d" };
103 131
104 VirtualKeyboard system_virtual_keyboard_1( 132 VirtualKeyboard system_virtual_keyboard_1(
105 GURL("http://system1"), CreateLayoutSet(layouts_1), true /* is_system */); 133 GURL("http://system1"), "", CreateLayoutSet(layouts_1),
134 true /* is_system */);
106 VirtualKeyboard system_virtual_keyboard_2( 135 VirtualKeyboard system_virtual_keyboard_2(
107 GURL("http://system2"), CreateLayoutSet(layouts_2), true /* is_system */); 136 GURL("http://system2"), "", CreateLayoutSet(layouts_2),
137 true /* is_system */);
108 138
109 TestableVirtualKeyboardSelector selector; 139 TestableVirtualKeyboardSelector selector;
110 EXPECT_TRUE(selector.AddVirtualKeyboard( 140 EXPECT_TRUE(selector.AddVirtualKeyboard(
111 system_virtual_keyboard_1.url(), 141 system_virtual_keyboard_1.url(),
142 system_virtual_keyboard_1.name(),
112 system_virtual_keyboard_1.supported_layouts(), 143 system_virtual_keyboard_1.supported_layouts(),
113 system_virtual_keyboard_1.is_system())); 144 system_virtual_keyboard_1.is_system()));
114 EXPECT_TRUE(selector.AddVirtualKeyboard( 145 EXPECT_TRUE(selector.AddVirtualKeyboard(
115 system_virtual_keyboard_2.url(), 146 system_virtual_keyboard_2.url(),
147 system_virtual_keyboard_2.name(),
116 system_virtual_keyboard_2.supported_layouts(), 148 system_virtual_keyboard_2.supported_layouts(),
117 system_virtual_keyboard_2.is_system())); 149 system_virtual_keyboard_2.is_system()));
118 150
119 // At this point, system_virtual_keyboard_2 has higher priority since it's 151 // At this point, system_virtual_keyboard_2 has higher priority since it's
120 // added later than system_virtual_keyboard_1. 152 // added later than system_virtual_keyboard_1.
121 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a")); 153 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
122 EXPECT_TRUE(system_virtual_keyboard_2 == 154 EXPECT_TRUE(system_virtual_keyboard_2 ==
123 *selector.SelectVirtualKeyboard("a")); 155 *selector.SelectVirtualKeyboard("a"));
124 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 156 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
125 EXPECT_TRUE(system_virtual_keyboard_2 == 157 EXPECT_TRUE(system_virtual_keyboard_2 ==
(...skipping 25 matching lines...) Expand all
151 EXPECT_TRUE(system_virtual_keyboard_2 == 183 EXPECT_TRUE(system_virtual_keyboard_2 ==
152 *selector.SelectVirtualKeyboard("a")); 184 *selector.SelectVirtualKeyboard("a"));
153 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 185 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
154 EXPECT_TRUE(system_virtual_keyboard_2 == 186 EXPECT_TRUE(system_virtual_keyboard_2 ==
155 *selector.SelectVirtualKeyboard("c")); 187 *selector.SelectVirtualKeyboard("c"));
156 } 188 }
157 189
158 TEST(VirtualKeyboardSelectorTest, TestUserKeyboard) { 190 TEST(VirtualKeyboardSelectorTest, TestUserKeyboard) {
159 static const char* layouts[] = { "a", "b", "c" }; 191 static const char* layouts[] = { "a", "b", "c" };
160 VirtualKeyboard user_virtual_keyboard( 192 VirtualKeyboard user_virtual_keyboard(
161 GURL("http://user"), CreateLayoutSet(layouts), false /* is_system */); 193 GURL("http://user"), "", CreateLayoutSet(layouts), false /* is_system */);
162 194
163 TestableVirtualKeyboardSelector selector; 195 TestableVirtualKeyboardSelector selector;
164 EXPECT_TRUE(selector.AddVirtualKeyboard( 196 EXPECT_TRUE(selector.AddVirtualKeyboard(
165 user_virtual_keyboard.url(), 197 user_virtual_keyboard.url(),
198 user_virtual_keyboard.name(),
166 user_virtual_keyboard.supported_layouts(), 199 user_virtual_keyboard.supported_layouts(),
167 user_virtual_keyboard.is_system())); 200 user_virtual_keyboard.is_system()));
168 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a")); 201 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
169 EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("a")); 202 EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("a"));
170 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("b")); 203 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("b"));
171 EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("b")); 204 EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("b"));
172 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 205 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
173 EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("c")); 206 EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("c"));
174 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("d")); 207 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("d"));
175 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("aa")); 208 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("aa"));
176 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("")); 209 EXPECT_EQ(NULL, selector.SelectVirtualKeyboard(""));
177 } 210 }
178 211
179 TEST(VirtualKeyboardSelectorTest, TestTwoUserKeyboards) { 212 TEST(VirtualKeyboardSelectorTest, TestTwoUserKeyboards) {
180 static const char* layouts_1[] = { "a", "b", "c" }; 213 static const char* layouts_1[] = { "a", "b", "c" };
181 static const char* layouts_2[] = { "a", "c", "d" }; 214 static const char* layouts_2[] = { "a", "c", "d" };
182 215
183 VirtualKeyboard user_virtual_keyboard_1( 216 VirtualKeyboard user_virtual_keyboard_1(
184 GURL("http://user1"), CreateLayoutSet(layouts_1), false /* is_system */); 217 GURL("http://user1"), "", CreateLayoutSet(layouts_1),
218 false /* is_system */);
185 VirtualKeyboard user_virtual_keyboard_2( 219 VirtualKeyboard user_virtual_keyboard_2(
186 GURL("http://user2"), CreateLayoutSet(layouts_2), false /* is_system */); 220 GURL("http://user2"), "", CreateLayoutSet(layouts_2),
221 false /* is_system */);
187 222
188 TestableVirtualKeyboardSelector selector; 223 TestableVirtualKeyboardSelector selector;
189 EXPECT_TRUE(selector.AddVirtualKeyboard( 224 EXPECT_TRUE(selector.AddVirtualKeyboard(
190 user_virtual_keyboard_1.url(), 225 user_virtual_keyboard_1.url(),
226 user_virtual_keyboard_1.name(),
191 user_virtual_keyboard_1.supported_layouts(), 227 user_virtual_keyboard_1.supported_layouts(),
192 user_virtual_keyboard_1.is_system())); 228 user_virtual_keyboard_1.is_system()));
193 EXPECT_TRUE(selector.AddVirtualKeyboard( 229 EXPECT_TRUE(selector.AddVirtualKeyboard(
194 user_virtual_keyboard_2.url(), 230 user_virtual_keyboard_2.url(),
231 user_virtual_keyboard_2.name(),
195 user_virtual_keyboard_2.supported_layouts(), 232 user_virtual_keyboard_2.supported_layouts(),
196 user_virtual_keyboard_2.is_system())); 233 user_virtual_keyboard_2.is_system()));
197 234
198 // At this point, user_virtual_keyboard_2 has higher priority since it's 235 // At this point, user_virtual_keyboard_2 has higher priority since it's
199 // added later than user_virtual_keyboard_1. 236 // added later than user_virtual_keyboard_1.
200 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a")); 237 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
201 EXPECT_TRUE(user_virtual_keyboard_2 == 238 EXPECT_TRUE(user_virtual_keyboard_2 ==
202 *selector.SelectVirtualKeyboard("a")); 239 *selector.SelectVirtualKeyboard("a"));
203 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 240 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
204 EXPECT_TRUE(user_virtual_keyboard_2 == 241 EXPECT_TRUE(user_virtual_keyboard_2 ==
(...skipping 29 matching lines...) Expand all
234 *selector.SelectVirtualKeyboard("c")); 271 *selector.SelectVirtualKeyboard("c"));
235 } 272 }
236 273
237 TEST(VirtualKeyboardSelectorTest, TestUserSystemMixed) { 274 TEST(VirtualKeyboardSelectorTest, TestUserSystemMixed) {
238 static const char* ulayouts_1[] = { "a", "b", "c" }; 275 static const char* ulayouts_1[] = { "a", "b", "c" };
239 static const char* ulayouts_2[] = { "a", "c", "d" }; 276 static const char* ulayouts_2[] = { "a", "c", "d" };
240 static const char* layouts_1[] = { "a", "x", "y" }; 277 static const char* layouts_1[] = { "a", "x", "y" };
241 static const char* layouts_2[] = { "a", "y", "z" }; 278 static const char* layouts_2[] = { "a", "y", "z" };
242 279
243 VirtualKeyboard user_virtual_keyboard_1( 280 VirtualKeyboard user_virtual_keyboard_1(
244 GURL("http://user1"), CreateLayoutSet(ulayouts_1), false /* is_system */); 281 GURL("http://user1"), "", CreateLayoutSet(ulayouts_1),
282 false /* is_system */);
245 VirtualKeyboard user_virtual_keyboard_2( 283 VirtualKeyboard user_virtual_keyboard_2(
246 GURL("http://user2"), CreateLayoutSet(ulayouts_2), false /* is_system */); 284 GURL("http://user2"), "", CreateLayoutSet(ulayouts_2),
285 false /* is_system */);
247 VirtualKeyboard system_virtual_keyboard_1( 286 VirtualKeyboard system_virtual_keyboard_1(
248 GURL("http://system1"), CreateLayoutSet(layouts_1), true /* is_system */); 287 GURL("http://system1"), "", CreateLayoutSet(layouts_1),
288 true /* is_system */);
249 VirtualKeyboard system_virtual_keyboard_2( 289 VirtualKeyboard system_virtual_keyboard_2(
250 GURL("http://system2"), CreateLayoutSet(layouts_2), true /* is_system */); 290 GURL("http://system2"), "", CreateLayoutSet(layouts_2),
291 true /* is_system */);
251 292
252 TestableVirtualKeyboardSelector selector; 293 TestableVirtualKeyboardSelector selector;
253 EXPECT_TRUE(selector.AddVirtualKeyboard( 294 EXPECT_TRUE(selector.AddVirtualKeyboard(
254 user_virtual_keyboard_1.url(), 295 user_virtual_keyboard_1.url(),
296 user_virtual_keyboard_1.name(),
255 user_virtual_keyboard_1.supported_layouts(), 297 user_virtual_keyboard_1.supported_layouts(),
256 user_virtual_keyboard_1.is_system())); 298 user_virtual_keyboard_1.is_system()));
257 EXPECT_TRUE(selector.AddVirtualKeyboard( 299 EXPECT_TRUE(selector.AddVirtualKeyboard(
258 user_virtual_keyboard_2.url(), 300 user_virtual_keyboard_2.url(),
301 user_virtual_keyboard_2.name(),
259 user_virtual_keyboard_2.supported_layouts(), 302 user_virtual_keyboard_2.supported_layouts(),
260 user_virtual_keyboard_2.is_system())); 303 user_virtual_keyboard_2.is_system()));
261 EXPECT_TRUE(selector.AddVirtualKeyboard( 304 EXPECT_TRUE(selector.AddVirtualKeyboard(
262 system_virtual_keyboard_1.url(), 305 system_virtual_keyboard_1.url(),
306 system_virtual_keyboard_1.name(),
263 system_virtual_keyboard_1.supported_layouts(), 307 system_virtual_keyboard_1.supported_layouts(),
264 system_virtual_keyboard_1.is_system())); 308 system_virtual_keyboard_1.is_system()));
265 EXPECT_TRUE(selector.AddVirtualKeyboard( 309 EXPECT_TRUE(selector.AddVirtualKeyboard(
266 system_virtual_keyboard_2.url(), 310 system_virtual_keyboard_2.url(),
311 system_virtual_keyboard_2.name(),
267 system_virtual_keyboard_2.supported_layouts(), 312 system_virtual_keyboard_2.supported_layouts(),
268 system_virtual_keyboard_2.is_system())); 313 system_virtual_keyboard_2.is_system()));
269 314
270 // At this point, user_virtual_keyboard_2 has the highest priority. 315 // At this point, user_virtual_keyboard_2 has the highest priority.
271 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a")); 316 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
272 EXPECT_TRUE(user_virtual_keyboard_2 == 317 EXPECT_TRUE(user_virtual_keyboard_2 ==
273 *selector.SelectVirtualKeyboard("a")); 318 *selector.SelectVirtualKeyboard("a"));
274 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 319 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
275 EXPECT_TRUE(user_virtual_keyboard_2 == 320 EXPECT_TRUE(user_virtual_keyboard_2 ==
276 *selector.SelectVirtualKeyboard("c")); 321 *selector.SelectVirtualKeyboard("c"));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 372
328 // Switch back to user_virtual_keyboard_1. 373 // Switch back to user_virtual_keyboard_1.
329 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 374 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
330 EXPECT_TRUE(user_virtual_keyboard_2 == 375 EXPECT_TRUE(user_virtual_keyboard_2 ==
331 *selector.SelectVirtualKeyboard("c")); 376 *selector.SelectVirtualKeyboard("c"));
332 } 377 }
333 378
334 TEST(VirtualKeyboardTest, TestUrl) { 379 TEST(VirtualKeyboardTest, TestUrl) {
335 static const char* layouts[] = { "a", "b", "c" }; 380 static const char* layouts[] = { "a", "b", "c" };
336 VirtualKeyboard system_virtual_keyboard( 381 VirtualKeyboard system_virtual_keyboard(
337 GURL("http://system"), CreateLayoutSet(layouts), true); 382 GURL("http://system"), "", CreateLayoutSet(layouts), true);
338 383
339 EXPECT_EQ("http://system/index.html#a", 384 EXPECT_EQ("http://system/index.html#a",
340 system_virtual_keyboard.GetURLForLayout("a").spec()); 385 system_virtual_keyboard.GetURLForLayout("a").spec());
341 EXPECT_EQ("http://system/index.html#b", 386 EXPECT_EQ("http://system/index.html#b",
342 system_virtual_keyboard.GetURLForLayout("b").spec()); 387 system_virtual_keyboard.GetURLForLayout("b").spec());
343 EXPECT_EQ("http://system/index.html#c", 388 EXPECT_EQ("http://system/index.html#c",
344 system_virtual_keyboard.GetURLForLayout("c").spec()); 389 system_virtual_keyboard.GetURLForLayout("c").spec());
345 EXPECT_EQ("http://system/index.html#not-supported", 390 EXPECT_EQ("http://system/index.html#not-supported",
346 system_virtual_keyboard.GetURLForLayout("not-supported").spec()); 391 system_virtual_keyboard.GetURLForLayout("not-supported").spec());
347 EXPECT_EQ("http://system/index.html#not(supported)", 392 EXPECT_EQ("http://system/index.html#not(supported)",
348 system_virtual_keyboard.GetURLForLayout("not(supported)").spec()); 393 system_virtual_keyboard.GetURLForLayout("not(supported)").spec());
349 EXPECT_EQ("http://system/", 394 EXPECT_EQ("http://system/",
350 system_virtual_keyboard.GetURLForLayout("").spec()); 395 system_virtual_keyboard.GetURLForLayout("").spec());
351 } 396 }
352 397
353 TEST(VirtualKeyboardSelectorTest, TestSetUserPreference1) { 398 TEST(VirtualKeyboardSelectorTest, TestSetUserPreference1) {
354 static const char* layouts[] = { "a", "b", "c" }; 399 static const char* layouts[] = { "a", "b", "c" };
355 400
356 VirtualKeyboard user_virtual_keyboard( 401 VirtualKeyboard user_virtual_keyboard(
357 GURL("http://user"), CreateLayoutSet(layouts), false /* is_system */); 402 GURL("http://user"), "", CreateLayoutSet(layouts), false /* is_system */);
358 403
359 TestableVirtualKeyboardSelector selector; 404 TestableVirtualKeyboardSelector selector;
360 EXPECT_TRUE(selector.AddVirtualKeyboard( 405 EXPECT_TRUE(selector.AddVirtualKeyboard(
361 user_virtual_keyboard.url(), 406 user_virtual_keyboard.url(),
407 user_virtual_keyboard.name(),
362 user_virtual_keyboard.supported_layouts(), 408 user_virtual_keyboard.supported_layouts(),
363 user_virtual_keyboard.is_system())); 409 user_virtual_keyboard.is_system()));
364 410
365 EXPECT_EQ(0U, selector.user_preference().size()); 411 EXPECT_EQ(0U, selector.user_preference().size());
366 EXPECT_FALSE(selector.SetUserPreference("bad_layout", GURL("http://user"))); 412 EXPECT_FALSE(selector.SetUserPreference("bad_layout", GURL("http://user")));
367 EXPECT_EQ(0U, selector.user_preference().size()); 413 EXPECT_EQ(0U, selector.user_preference().size());
368 EXPECT_FALSE(selector.SetUserPreference("a", GURL("http://bad_url"))); 414 EXPECT_FALSE(selector.SetUserPreference("a", GURL("http://bad_url")));
369 EXPECT_EQ(0U, selector.user_preference().size()); 415 EXPECT_EQ(0U, selector.user_preference().size());
370 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://user"))); 416 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://user")));
371 EXPECT_EQ(1U, selector.user_preference().size()); 417 EXPECT_EQ(1U, selector.user_preference().size());
372 EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://user"))); 418 EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://user")));
373 EXPECT_EQ(2U, selector.user_preference().size()); 419 EXPECT_EQ(2U, selector.user_preference().size());
374 EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://user"))); 420 EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://user")));
375 EXPECT_EQ(3U, selector.user_preference().size()); 421 EXPECT_EQ(3U, selector.user_preference().size());
376 } 422 }
377 423
378 TEST(VirtualKeyboardSelectorTest, TestSetUserPreference2) { 424 TEST(VirtualKeyboardSelectorTest, TestSetUserPreference2) {
379 static const char* layouts[] = { "a", "b", "c" }; 425 static const char* layouts[] = { "a", "b", "c" };
380 426
381 VirtualKeyboard system_virtual_keyboard( 427 VirtualKeyboard system_virtual_keyboard(
382 GURL("http://system"), CreateLayoutSet(layouts), true /* is_system */); 428 GURL("http://system"), "", CreateLayoutSet(layouts),
429 true /* is_system */);
383 430
384 TestableVirtualKeyboardSelector selector; 431 TestableVirtualKeyboardSelector selector;
385 EXPECT_TRUE(selector.AddVirtualKeyboard( 432 EXPECT_TRUE(selector.AddVirtualKeyboard(
386 system_virtual_keyboard.url(), 433 system_virtual_keyboard.url(),
434 system_virtual_keyboard.name(),
387 system_virtual_keyboard.supported_layouts(), 435 system_virtual_keyboard.supported_layouts(),
388 system_virtual_keyboard.is_system())); 436 system_virtual_keyboard.is_system()));
389 437
390 EXPECT_EQ(0U, selector.user_preference().size()); 438 EXPECT_EQ(0U, selector.user_preference().size());
391 EXPECT_FALSE(selector.SetUserPreference("bad_layout", GURL("http://system"))); 439 EXPECT_FALSE(selector.SetUserPreference("bad_layout", GURL("http://system")));
392 EXPECT_EQ(0U, selector.user_preference().size()); 440 EXPECT_EQ(0U, selector.user_preference().size());
393 EXPECT_FALSE(selector.SetUserPreference("a", GURL("http://bad_url"))); 441 EXPECT_FALSE(selector.SetUserPreference("a", GURL("http://bad_url")));
394 EXPECT_EQ(0U, selector.user_preference().size()); 442 EXPECT_EQ(0U, selector.user_preference().size());
395 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://system"))); 443 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://system")));
396 EXPECT_EQ(1U, selector.user_preference().size()); 444 EXPECT_EQ(1U, selector.user_preference().size());
397 EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://system"))); 445 EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://system")));
398 EXPECT_EQ(2U, selector.user_preference().size()); 446 EXPECT_EQ(2U, selector.user_preference().size());
399 EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://system"))); 447 EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://system")));
400 EXPECT_EQ(3U, selector.user_preference().size()); 448 EXPECT_EQ(3U, selector.user_preference().size());
401 } 449 }
402 450
403 TEST(VirtualKeyboardSelectorTest, TestRemoveUserPreference) { 451 TEST(VirtualKeyboardSelectorTest, TestRemoveUserPreference) {
404 static const char* layouts[] = { "a", "b", "c" }; 452 static const char* layouts[] = { "a", "b", "c" };
405 453
406 VirtualKeyboard user_virtual_keyboard_1( 454 VirtualKeyboard user_virtual_keyboard_1(
407 GURL("http://user1"), CreateLayoutSet(layouts), false /* is_system */); 455 GURL("http://user1"), "", CreateLayoutSet(layouts),
456 false /* is_system */);
408 VirtualKeyboard user_virtual_keyboard_2( 457 VirtualKeyboard user_virtual_keyboard_2(
409 GURL("http://user2"), CreateLayoutSet(layouts), false /* is_system */); 458 GURL("http://user2"), "", CreateLayoutSet(layouts),
459 false /* is_system */);
410 460
411 TestableVirtualKeyboardSelector selector; 461 TestableVirtualKeyboardSelector selector;
412 EXPECT_TRUE(selector.AddVirtualKeyboard( 462 EXPECT_TRUE(selector.AddVirtualKeyboard(
413 user_virtual_keyboard_1.url(), 463 user_virtual_keyboard_1.url(),
464 user_virtual_keyboard_1.name(),
414 user_virtual_keyboard_1.supported_layouts(), 465 user_virtual_keyboard_1.supported_layouts(),
415 user_virtual_keyboard_1.is_system())); 466 user_virtual_keyboard_1.is_system()));
416 EXPECT_TRUE(selector.AddVirtualKeyboard( 467 EXPECT_TRUE(selector.AddVirtualKeyboard(
417 user_virtual_keyboard_2.url(), 468 user_virtual_keyboard_2.url(),
469 user_virtual_keyboard_2.name(),
418 user_virtual_keyboard_2.supported_layouts(), 470 user_virtual_keyboard_2.supported_layouts(),
419 user_virtual_keyboard_2.is_system())); 471 user_virtual_keyboard_2.is_system()));
420 472
421 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://user1"))); 473 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://user1")));
422 EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://user1"))); 474 EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://user1")));
423 EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://user1"))); 475 EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://user1")));
424 EXPECT_EQ(3U, selector.user_preference().size()); 476 EXPECT_EQ(3U, selector.user_preference().size());
425 477
426 selector.RemoveUserPreference("b"); 478 selector.RemoveUserPreference("b");
427 EXPECT_EQ(2U, selector.user_preference().size()); 479 EXPECT_EQ(2U, selector.user_preference().size());
428 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("b")); 480 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("b"));
429 // user_virtual_keyboard_2 should be selected here since the keyboard is 481 // user_virtual_keyboard_2 should be selected here since the keyboard is
430 // added most recently and the user preference on "b" is already removed. 482 // added most recently and the user preference on "b" is already removed.
431 EXPECT_TRUE(user_virtual_keyboard_2 == *selector.SelectVirtualKeyboard("b")); 483 EXPECT_TRUE(user_virtual_keyboard_2 == *selector.SelectVirtualKeyboard("b"));
432 484
433 selector.ClearAllUserPreferences(); 485 selector.ClearAllUserPreferences();
434 EXPECT_EQ(0U, selector.user_preference().size()); 486 EXPECT_EQ(0U, selector.user_preference().size());
435 } 487 }
436 488
437 TEST(VirtualKeyboardSelectorTest, TestSetUserPreferenceUserSystemMixed) { 489 TEST(VirtualKeyboardSelectorTest, TestSetUserPreferenceUserSystemMixed) {
438 static const char* ulayouts_1[] = { "a", "b", "c" }; 490 static const char* ulayouts_1[] = { "a", "b", "c" };
439 static const char* ulayouts_2[] = { "a", "c", "d" }; 491 static const char* ulayouts_2[] = { "a", "c", "d" };
440 static const char* layouts_1[] = { "a", "x", "y" }; 492 static const char* layouts_1[] = { "a", "x", "y" };
441 static const char* layouts_2[] = { "a", "y", "z" }; 493 static const char* layouts_2[] = { "a", "y", "z" };
442 494
443 VirtualKeyboard user_virtual_keyboard_1( 495 VirtualKeyboard user_virtual_keyboard_1(
444 GURL("http://user1"), CreateLayoutSet(ulayouts_1), false /* is_system */); 496 GURL("http://user1"), "", CreateLayoutSet(ulayouts_1),
497 false /* is_system */);
445 VirtualKeyboard user_virtual_keyboard_2( 498 VirtualKeyboard user_virtual_keyboard_2(
446 GURL("http://user2"), CreateLayoutSet(ulayouts_2), false /* is_system */); 499 GURL("http://user2"), "", CreateLayoutSet(ulayouts_2),
500 false /* is_system */);
447 VirtualKeyboard system_virtual_keyboard_1( 501 VirtualKeyboard system_virtual_keyboard_1(
448 GURL("http://system1"), CreateLayoutSet(layouts_1), true /* is_system */); 502 GURL("http://system1"), "", CreateLayoutSet(layouts_1),
503 true /* is_system */);
449 VirtualKeyboard system_virtual_keyboard_2( 504 VirtualKeyboard system_virtual_keyboard_2(
450 GURL("http://system2"), CreateLayoutSet(layouts_2), true /* is_system */); 505 GURL("http://system2"), "", CreateLayoutSet(layouts_2),
506 true /* is_system */);
451 507
452 TestableVirtualKeyboardSelector selector; 508 TestableVirtualKeyboardSelector selector;
453 EXPECT_TRUE(selector.AddVirtualKeyboard( 509 EXPECT_TRUE(selector.AddVirtualKeyboard(
454 user_virtual_keyboard_1.url(), 510 user_virtual_keyboard_1.url(),
511 user_virtual_keyboard_1.name(),
455 user_virtual_keyboard_1.supported_layouts(), 512 user_virtual_keyboard_1.supported_layouts(),
456 user_virtual_keyboard_1.is_system())); 513 user_virtual_keyboard_1.is_system()));
457 EXPECT_TRUE(selector.AddVirtualKeyboard( 514 EXPECT_TRUE(selector.AddVirtualKeyboard(
458 user_virtual_keyboard_2.url(), 515 user_virtual_keyboard_2.url(),
516 user_virtual_keyboard_2.name(),
459 user_virtual_keyboard_2.supported_layouts(), 517 user_virtual_keyboard_2.supported_layouts(),
460 user_virtual_keyboard_2.is_system())); 518 user_virtual_keyboard_2.is_system()));
461 EXPECT_TRUE(selector.AddVirtualKeyboard( 519 EXPECT_TRUE(selector.AddVirtualKeyboard(
462 system_virtual_keyboard_1.url(), 520 system_virtual_keyboard_1.url(),
521 system_virtual_keyboard_1.name(),
463 system_virtual_keyboard_1.supported_layouts(), 522 system_virtual_keyboard_1.supported_layouts(),
464 system_virtual_keyboard_1.is_system())); 523 system_virtual_keyboard_1.is_system()));
465 EXPECT_TRUE(selector.AddVirtualKeyboard( 524 EXPECT_TRUE(selector.AddVirtualKeyboard(
466 system_virtual_keyboard_2.url(), 525 system_virtual_keyboard_2.url(),
526 system_virtual_keyboard_2.name(),
467 system_virtual_keyboard_2.supported_layouts(), 527 system_virtual_keyboard_2.supported_layouts(),
468 system_virtual_keyboard_2.is_system())); 528 system_virtual_keyboard_2.is_system()));
469 529
470 // Set and then remove user prefs (=NOP). 530 // Set and then remove user prefs (=NOP).
471 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://system1"))); 531 EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://system1")));
472 EXPECT_TRUE(selector.SetUserPreference("z", GURL("http://system2"))); 532 EXPECT_TRUE(selector.SetUserPreference("z", GURL("http://system2")));
473 selector.ClearAllUserPreferences(); 533 selector.ClearAllUserPreferences();
474 534
475 // At this point, user_virtual_keyboard_2 has the highest priority. 535 // At this point, user_virtual_keyboard_2 has the highest priority.
476 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a")); 536 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a")); 595 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
536 EXPECT_TRUE(system_virtual_keyboard_1 == // user pref is no longer available 596 EXPECT_TRUE(system_virtual_keyboard_1 == // user pref is no longer available
537 *selector.SelectVirtualKeyboard("a")); 597 *selector.SelectVirtualKeyboard("a"));
538 598
539 // Switch back to user_virtual_keyboard_1. 599 // Switch back to user_virtual_keyboard_1.
540 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c")); 600 ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("c"));
541 EXPECT_TRUE(user_virtual_keyboard_2 == 601 EXPECT_TRUE(user_virtual_keyboard_2 ==
542 *selector.SelectVirtualKeyboard("c")); 602 *selector.SelectVirtualKeyboard("c"));
543 } 603 }
544 604
605 TEST(VirtualKeyboardSelectorTest, TestUrlToExtensionMapping) {
606 static const char* ulayouts_1[] = { "a", "b", "c" };
607 static const char* ulayouts_2[] = { "a", "c", "d" };
608 static const char* slayouts_1[] = { "a", "x", "y" };
609
610 VirtualKeyboard user_virtual_keyboard_1(
611 GURL("http://user1"), "", CreateLayoutSet(ulayouts_1),
612 false /* is_system */);
613 VirtualKeyboard user_virtual_keyboard_2(
614 GURL("http://user2"), "", CreateLayoutSet(ulayouts_2),
615 false /* is_system */);
616 VirtualKeyboard system_virtual_keyboard_1(
617 GURL("http://system1"), "", CreateLayoutSet(slayouts_1),
618 true /* is_system */);
619
620 TestableVirtualKeyboardSelector selector;
621
622 const std::map<GURL, const VirtualKeyboard*>& result1 =
623 selector.url_to_keyboard();
624 EXPECT_TRUE(result1.empty());
625
626 EXPECT_TRUE(selector.AddVirtualKeyboard(
627 user_virtual_keyboard_1.url(),
628 user_virtual_keyboard_1.name(),
629 user_virtual_keyboard_1.supported_layouts(),
630 user_virtual_keyboard_1.is_system()));
631 EXPECT_TRUE(selector.AddVirtualKeyboard(
632 user_virtual_keyboard_2.url(),
633 user_virtual_keyboard_2.name(),
634 user_virtual_keyboard_2.supported_layouts(),
635 user_virtual_keyboard_2.is_system()));
636 EXPECT_TRUE(selector.AddVirtualKeyboard(
637 system_virtual_keyboard_1.url(),
638 system_virtual_keyboard_1.name(),
639 system_virtual_keyboard_1.supported_layouts(),
640 system_virtual_keyboard_1.is_system()));
641
642 const std::map<GURL, const VirtualKeyboard*>& result2 =
643 selector.url_to_keyboard();
644 EXPECT_EQ(3U, result2.size());
645 ASSERT_EQ(1U, result2.count(GURL("http://user1")));
646 EXPECT_TRUE(user_virtual_keyboard_1 ==
647 *result2.find(GURL("http://user1"))->second);
648 ASSERT_EQ(1U, result2.count(GURL("http://user2")));
649 EXPECT_TRUE(user_virtual_keyboard_2 ==
650 *result2.find(GURL("http://user2"))->second);
651 ASSERT_EQ(1U, result2.count(GURL("http://system1")));
652 EXPECT_TRUE(system_virtual_keyboard_1 ==
653 *result2.find(GURL("http://system1"))->second);
654 EXPECT_EQ(0U, result2.count(GURL("http://system2")));
655 }
656
657 TEST(VirtualKeyboardSelectorTest, TestLayoutToExtensionMapping) {
658 static const char* ulayouts_1[] = { "a", "b", "c" };
659 static const char* ulayouts_2[] = { "a", "c", "d" };
660 static const char* slayouts_1[] = { "a", "x", "y" };
661 static const char* slayouts_2[] = { "a", "y", "z" };
662
663 VirtualKeyboard user_virtual_keyboard_1(
664 GURL("http://user1"), "", CreateLayoutSet(ulayouts_1),
665 false /* is_system */);
666 VirtualKeyboard user_virtual_keyboard_2(
667 GURL("http://user2"), "", CreateLayoutSet(ulayouts_2),
668 false /* is_system */);
669 VirtualKeyboard system_virtual_keyboard_1(
670 GURL("http://system1"), "", CreateLayoutSet(slayouts_1),
671 true /* is_system */);
672 VirtualKeyboard system_virtual_keyboard_2(
673 GURL("http://system2"), "", CreateLayoutSet(slayouts_2),
674 true /* is_system */);
675
676 TestableVirtualKeyboardSelector selector;
677
678 const LayoutToKeyboard& result1 = selector.layout_to_keyboard();
679 EXPECT_TRUE(result1.empty());
680
681 EXPECT_TRUE(selector.AddVirtualKeyboard(
682 user_virtual_keyboard_1.url(),
683 user_virtual_keyboard_1.name(),
684 user_virtual_keyboard_1.supported_layouts(),
685 user_virtual_keyboard_1.is_system()));
686 EXPECT_TRUE(selector.AddVirtualKeyboard(
687 user_virtual_keyboard_2.url(),
688 user_virtual_keyboard_2.name(),
689 user_virtual_keyboard_2.supported_layouts(),
690 user_virtual_keyboard_2.is_system()));
691 EXPECT_TRUE(selector.AddVirtualKeyboard(
692 system_virtual_keyboard_1.url(),
693 system_virtual_keyboard_1.name(),
694 system_virtual_keyboard_1.supported_layouts(),
695 system_virtual_keyboard_1.is_system()));
696 EXPECT_TRUE(selector.AddVirtualKeyboard(
697 system_virtual_keyboard_2.url(),
698 system_virtual_keyboard_2.name(),
699 system_virtual_keyboard_2.supported_layouts(),
700 system_virtual_keyboard_2.is_system()));
701
702 const LayoutToKeyboard& result2 = selector.layout_to_keyboard();
703 EXPECT_EQ(arraysize(ulayouts_1) +
704 arraysize(ulayouts_2) +
705 arraysize(slayouts_1) +
706 arraysize(slayouts_2),
707 result2.size());
708
709 std::pair<LayoutToKeyboard::const_iterator,
710 LayoutToKeyboard::const_iterator> range;
711 EXPECT_EQ(4U, result2.count("a"));
712 {
713 static const char* urls[] = { "http://user1", "http://user2",
714 "http://system1", "http://system2" };
715 range = result2.equal_range("a");
716 EXPECT_TRUE(CheckUrls(range.first, range.second, urls));
717 }
718 EXPECT_EQ(2U, result2.count("c"));
719 {
720 static const char* urls[] = { "http://user1", "http://user2" };
721 range = result2.equal_range("c");
722 EXPECT_TRUE(CheckUrls(range.first, range.second, urls));
723 }
724 EXPECT_EQ(1U, result2.count("z"));
725 {
726 static const char* urls[] = { "http://system2" };
727 range = result2.equal_range("z");
728 EXPECT_TRUE(CheckUrls(range.first, range.second, urls));
729 }
730 EXPECT_EQ(0U, result2.count("Z"));
731 }
732
545 } // namespace input_method 733 } // namespace input_method
546 } // namespace chromeos 734 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/input_method/virtual_keyboard_selector.cc ('k') | chrome/browser/extensions/extension_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698