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

Unified Diff: chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc

Issue 7497028: Add SetUserPreference function to VirtualKeyboardSelector (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 5 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 side-by-side diff with in-line comments
Download patch
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 95b8656006cc5e5e6cf18cf7bc3970711345ed39..98e6a4bc68ffc1a320ccc7df7a250cb0ef14052d 100644
--- a/chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc
+++ b/chrome/browser/chromeos/input_method/virtual_keyboard_selector_unittest.cc
@@ -32,7 +32,7 @@ namespace input_method {
class TestableVirtualKeyboardSelector : public VirtualKeyboardSelector {
public:
// Change access rights.
- using VirtualKeyboardSelector::SelectVirtualKeyboardInternal;
+ using VirtualKeyboardSelector::SelectVirtualKeyboardByLayout;
};
TEST(VirtualKeyboardSelectorTest, TestNoKeyboard) {
@@ -51,11 +51,11 @@ TEST(VirtualKeyboardSelectorTest, TestSystemKeyboard) {
system_virtual_keyboard.supported_layouts(),
system_virtual_keyboard.is_system());
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("b"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("b"));
EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("b"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(system_virtual_keyboard == *selector.SelectVirtualKeyboard("c"));
EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("d"));
EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("aa"));
@@ -81,39 +81,39 @@ TEST(VirtualKeyboardSelectorTest, TestTwoSystemKeyboards) {
// At this point, system_virtual_keyboard_2 has higher priority since it's
// added later than system_virtual_keyboard_1.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("c"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("d"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("d"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("d"));
// Request "b". system_virtual_keyboard_1 should be returned.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("b"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("b"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("b"));
// Now system_virtual_keyboard_1 should be selected for 'a' and 'c' since
// it's the current virtual keyboard.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("c"));
// Request "d" again. system_virtual_keyboard_2 should be returned.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("d"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("d"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("d"));
// This time, system_virtual_keyboard_2 should be selected for 'a' and 'c'.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("c"));
}
@@ -127,11 +127,11 @@ TEST(VirtualKeyboardSelectorTest, TestUserKeyboard) {
selector.AddVirtualKeyboard(user_virtual_keyboard.url(),
user_virtual_keyboard.supported_layouts(),
user_virtual_keyboard.is_system());
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("b"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("b"));
EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("b"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(user_virtual_keyboard == *selector.SelectVirtualKeyboard("c"));
EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("d"));
EXPECT_EQ(NULL, selector.SelectVirtualKeyboard("aa"));
@@ -157,39 +157,39 @@ TEST(VirtualKeyboardSelectorTest, TestTwoUserKeyboards) {
// At this point, user_virtual_keyboard_2 has higher priority since it's
// added later than user_virtual_keyboard_1.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("c"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("d"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("d"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("d"));
// Request "b". user_virtual_keyboard_1 should be returned.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("b"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("b"));
EXPECT_TRUE(user_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("b"));
// Now user_virtual_keyboard_1 should be selected for 'a' and 'c' since
// it's the current virtual keyboard.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(user_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(user_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("c"));
// Request "d" again. user_virtual_keyboard_2 should be returned.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("d"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("d"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("d"));
// This time, user_virtual_keyboard_2 should be selected for 'a' and 'c'.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("c"));
}
@@ -224,65 +224,65 @@ TEST(VirtualKeyboardSelectorTest, TestUserSystemMixed) {
system_virtual_keyboard_2.is_system());
// At this point, user_virtual_keyboard_2 has the highest priority.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("c"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("d"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("d"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("d"));
// Request "b". user_virtual_keyboard_1 should be returned.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("b"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("b"));
EXPECT_TRUE(user_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("b"));
// Now user_virtual_keyboard_1 should be selected for 'a' and 'c' since
// it's the current virtual keyboard.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(user_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("a"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(user_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("c"));
// Request "x". system_virtual_keyboard_2 should be returned (since it's
// added later than system_virtual_keyboard_1).
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("x"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("x"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("x"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("y"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("y"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("y"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("a"));
// Switch to system_virtual_keyboard_2.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("z"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("z"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("z"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("y"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("y"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("y"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(system_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("a"));
// Switch back to system_virtual_keyboard_2.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("x"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("x"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("x"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("y"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("y"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("y"));
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
EXPECT_TRUE(system_virtual_keyboard_1 ==
*selector.SelectVirtualKeyboard("a"));
// Switch back to user_virtual_keyboard_1.
- ASSERT_TRUE(selector.SelectVirtualKeyboardInternal("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
EXPECT_TRUE(user_virtual_keyboard_2 ==
*selector.SelectVirtualKeyboard("c"));
}
@@ -306,5 +306,144 @@ TEST(VirtualKeyboardTest, TestUrl) {
system_virtual_keyboard.GetURLForLayout("").spec());
}
+TEST(VirtualKeyboardSelectorTest, TestSetUserPreference1) {
+ static const char* layouts[] = { "a", "b", "c" };
+
+ VirtualKeyboard user_virtual_keyboard(
+ GURL("http://user"), CreateLayoutSet(layouts), false /* is_system */);
+
+ TestableVirtualKeyboardSelector selector;
+ selector.AddVirtualKeyboard(user_virtual_keyboard.url(),
+ user_virtual_keyboard.supported_layouts(),
+ user_virtual_keyboard.is_system());
+
+ EXPECT_FALSE(selector.SetUserPreference("bad_layout", GURL("http://user")));
+ EXPECT_FALSE(selector.SetUserPreference("a", GURL("http://bad_url")));
+ EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://user")));
+ EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://user")));
+ EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://user")));
+}
+
+TEST(VirtualKeyboardSelectorTest, TestSetUserPreference2) {
+ static const char* layouts[] = { "a", "b", "c" };
+
+ VirtualKeyboard system_virtual_keyboard(
+ GURL("http://system"), CreateLayoutSet(layouts), true /* is_system */);
+
+ TestableVirtualKeyboardSelector selector;
+ selector.AddVirtualKeyboard(system_virtual_keyboard.url(),
+ system_virtual_keyboard.supported_layouts(),
+ system_virtual_keyboard.is_system());
+
+ EXPECT_FALSE(selector.SetUserPreference("bad_layout", GURL("http://system")));
+ EXPECT_FALSE(selector.SetUserPreference("a", GURL("http://bad_url")));
+ EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://system")));
+ EXPECT_TRUE(selector.SetUserPreference("b", GURL("http://system")));
+ EXPECT_TRUE(selector.SetUserPreference("c", GURL("http://system")));
+}
+
+TEST(VirtualKeyboardSelectorTest, TestSetUserPreferenceUserSystemMixed) {
+ static const char* ulayouts_1[] = { "a", "b", "c" };
+ static const char* ulayouts_2[] = { "a", "c", "d" };
+ static const char* layouts_1[] = { "a", "x", "y" };
+ static const char* layouts_2[] = { "a", "y", "z" };
+
+ VirtualKeyboard user_virtual_keyboard_1(
+ GURL("http://user1"), CreateLayoutSet(ulayouts_1), false /* is_system */);
+ VirtualKeyboard user_virtual_keyboard_2(
+ GURL("http://user2"), CreateLayoutSet(ulayouts_2), false /* is_system */);
+ VirtualKeyboard system_virtual_keyboard_1(
+ GURL("http://system1"), CreateLayoutSet(layouts_1), true /* is_system */);
+ VirtualKeyboard system_virtual_keyboard_2(
+ GURL("http://system2"), CreateLayoutSet(layouts_2), true /* is_system */);
+
+ TestableVirtualKeyboardSelector selector;
+ selector.AddVirtualKeyboard(user_virtual_keyboard_1.url(),
+ user_virtual_keyboard_1.supported_layouts(),
+ user_virtual_keyboard_1.is_system());
+ selector.AddVirtualKeyboard(user_virtual_keyboard_2.url(),
+ user_virtual_keyboard_2.supported_layouts(),
+ user_virtual_keyboard_2.is_system());
+ selector.AddVirtualKeyboard(system_virtual_keyboard_1.url(),
+ system_virtual_keyboard_1.supported_layouts(),
+ system_virtual_keyboard_1.is_system());
+ selector.AddVirtualKeyboard(system_virtual_keyboard_2.url(),
+ system_virtual_keyboard_2.supported_layouts(),
+ system_virtual_keyboard_2.is_system());
+
+ // Set and then remove user pref (=NOP).
+ EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://system1")));
+ selector.RemoveUserPreference("a");
+
+ // At this point, user_virtual_keyboard_2 has the highest priority.
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
+ EXPECT_TRUE(user_virtual_keyboard_2 ==
+ *selector.SelectVirtualKeyboard("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
+ EXPECT_TRUE(user_virtual_keyboard_2 ==
+ *selector.SelectVirtualKeyboard("c"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("d"));
+ EXPECT_TRUE(user_virtual_keyboard_2 ==
+ *selector.SelectVirtualKeyboard("d"));
+
+ // Request "b". user_virtual_keyboard_1 should be returned.
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("b"));
+ EXPECT_TRUE(user_virtual_keyboard_1 ==
+ *selector.SelectVirtualKeyboard("b"));
+
+ // Set user pref.
+ EXPECT_TRUE(selector.SetUserPreference("a", GURL("http://user2")));
+
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
+ EXPECT_TRUE(user_virtual_keyboard_2 == // follow the user pref.
+ *selector.SelectVirtualKeyboard("a"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
+ EXPECT_TRUE(user_virtual_keyboard_2 ==
+ *selector.SelectVirtualKeyboard("c"));
+
+ // Request "x". system_virtual_keyboard_2 should be returned (since it's
+ // added later than system_virtual_keyboard_1).
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("x"));
+ EXPECT_TRUE(system_virtual_keyboard_1 ==
+ *selector.SelectVirtualKeyboard("x"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("y"));
+ EXPECT_TRUE(system_virtual_keyboard_1 ==
+ *selector.SelectVirtualKeyboard("y"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
+ EXPECT_TRUE(user_virtual_keyboard_2 == // follow the user pref.
+ *selector.SelectVirtualKeyboard("a"));
+
+ // Switch to system_virtual_keyboard_2.
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("z"));
+ EXPECT_TRUE(system_virtual_keyboard_2 ==
+ *selector.SelectVirtualKeyboard("z"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("y"));
+ EXPECT_TRUE(system_virtual_keyboard_2 ==
+ *selector.SelectVirtualKeyboard("y"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
+ EXPECT_TRUE(user_virtual_keyboard_2 == // follow the user pref.
+ *selector.SelectVirtualKeyboard("a"));
+
+ // Switch back to system_virtual_keyboard_2.
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("x"));
+ EXPECT_TRUE(system_virtual_keyboard_1 ==
+ *selector.SelectVirtualKeyboard("x"));
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("y"));
+ EXPECT_TRUE(system_virtual_keyboard_1 ==
+ *selector.SelectVirtualKeyboard("y"));
+
+ // Remove it.
+ selector.RemoveUserPreference("a");
+
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("a"));
+ EXPECT_TRUE(system_virtual_keyboard_1 == // user pref is no longer available
+ *selector.SelectVirtualKeyboard("a"));
+
+ // Switch back to user_virtual_keyboard_1.
+ ASSERT_TRUE(selector.SelectVirtualKeyboardByLayout("c"));
+ EXPECT_TRUE(user_virtual_keyboard_2 ==
+ *selector.SelectVirtualKeyboard("c"));
+}
+
} // namespace input_method
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698