| Index: chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc
|
| diff --git a/chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc b/chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc
|
| index 5eb5125dba6f701afc08e23f2a9e530559ecc8e5..3e3b89f394de78318eaa12bced637324308a4136 100644
|
| --- a/chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc
|
| +++ b/chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc
|
| @@ -400,6 +400,40 @@ TEST(VirtualKeyboardSelectorTest, TestSetUserPreference2) {
|
| EXPECT_EQ(3U, selector.user_preference().size());
|
| }
|
|
|
| +TEST(VirtualKeyboardSelectorTest, TestRemoveUserPreference) {
|
| + static const char* layouts[] = { "a", "b", "c" };
|
| +
|
| + VirtualKeyboard user_virtual_keyboard_1(
|
| + GURL("http://user1"), CreateLayoutSet(layouts), false /* is_system */);
|
| + VirtualKeyboard user_virtual_keyboard_2(
|
| + GURL("http://user2"), CreateLayoutSet(layouts), false /* is_system */);
|
| +
|
| + TestableVirtualKeyboardSelector selector;
|
| + EXPECT_TRUE(selector.AddVirtualKeyboard(
|
| + user_virtual_keyboard_1.url(),
|
| + user_virtual_keyboard_1.supported_layouts(),
|
| + user_virtual_keyboard_1.is_system()));
|
| + EXPECT_TRUE(selector.AddVirtualKeyboard(
|
| + user_virtual_keyboard_2.url(),
|
| + user_virtual_keyboard_2.supported_layouts(),
|
| + user_virtual_keyboard_2.is_system()));
|
| +
|
| + EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://user1")));
|
| + EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://user1")));
|
| + EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://user1")));
|
| + EXPECT_EQ(3U, selector.user_preference().size());
|
| +
|
| + selector.RemoveUserPreference("b");
|
| + EXPECT_EQ(2U, selector.user_preference().size());
|
| + ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("b"));
|
| + // user_virtual_keyboard_2 should be selected here since the keyboard is
|
| + // added most recently and the user preference on "b" is already removed.
|
| + EXPECT_TRUE(user_virtual_keyboard_2 == *selector.SelectVirtualKeyboard("b"));
|
| +
|
| + selector.ClearAllUserPreferences();
|
| + EXPECT_EQ(0U, selector.user_preference().size());
|
| +}
|
| +
|
| TEST(VirtualKeyboardSelectorTest, TestSetUserPreferenceUserSystemMixed) {
|
| static const char* ulayouts_1[] = { "a", "b", "c" };
|
| static const char* ulayouts_2[] = { "a", "c", "d" };
|
| @@ -433,9 +467,10 @@ TEST(VirtualKeyboardSelectorTest, TestSetUserPreferenceUserSystemMixed) {
|
| system_virtual_keyboard_2.supported_layouts(),
|
| system_virtual_keyboard_2.is_system()));
|
|
|
| - // Set and then remove user pref (=NOP).
|
| + // Set and then remove user prefs (=NOP).
|
| EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://system1")));
|
| - selector.RemoveUserPreference("a");
|
| + EXPECT_TRUE(selector.SetUserPreference("z", GURL("http://system2")));
|
| + selector.ClearAllUserPreferences();
|
|
|
| // At this point, user_virtual_keyboard_2 has the highest priority.
|
| ASSERT_TRUE(selector.SelectVirtualKeyboardWithoutPreferences("a"));
|
|
|