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

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