Index: ui/keyboard/keyboard_controller_unittest.cc |
diff --git a/ui/keyboard/keyboard_controller_unittest.cc b/ui/keyboard/keyboard_controller_unittest.cc |
index 407cc6a1835ae7bccb1c0ef2f9fd1dc737e6b002..9f7440950b997e050855b20ae14495f77c9f579d 100644 |
--- a/ui/keyboard/keyboard_controller_unittest.cc |
+++ b/ui/keyboard/keyboard_controller_unittest.cc |
@@ -3,6 +3,7 @@ |
// found in the LICENSE file. |
#include "base/bind.h" |
+#include "base/command_line.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/message_loop/message_loop.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -19,6 +20,7 @@ |
#include "ui/gfx/rect.h" |
#include "ui/keyboard/keyboard_controller.h" |
#include "ui/keyboard/keyboard_controller_proxy.h" |
+#include "ui/keyboard/keyboard_switches.h" |
namespace keyboard { |
namespace { |
@@ -329,4 +331,41 @@ TEST_F(KeyboardControllerTest, VisibilityChangeWithTextInputTypeChange) { |
EXPECT_TRUE(keyboard_container->IsVisible()); |
} |
+class KeyboardControllerUsabilityTest : public KeyboardControllerTest { |
+ public: |
+ KeyboardControllerUsabilityTest() {} |
+ virtual ~KeyboardControllerUsabilityTest() {} |
+ |
+ virtual void SetUp() OVERRIDE { |
+ CommandLine::ForCurrentProcess()->AppendSwitch( |
+ switches::kKeyboardUsabilityTest); |
+ KeyboardControllerTest::SetUp(); |
+ } |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(KeyboardControllerUsabilityTest); |
+}; |
+ |
+TEST_F(KeyboardControllerUsabilityTest, KeyboardAlwaysVisibleInUsabilityTest) { |
+ const gfx::Rect& root_bounds = root_window()->bounds(); |
+ |
+ ui::InputMethod* input_method = proxy()->GetInputMethod(); |
+ TestTextInputClient input_client(ui::TEXT_INPUT_TYPE_TEXT); |
+ TestTextInputClient no_input_client(ui::TEXT_INPUT_TYPE_NONE); |
+ input_method->SetFocusedTextInputClient(&input_client); |
+ |
+ aura::Window* keyboard_container(controller()->GetContainerWindow()); |
+ scoped_ptr<KeyboardContainerObserver> keyboard_container_observer( |
+ new KeyboardContainerObserver(keyboard_container)); |
sadrul
2013/10/24 06:09:56
I don't think you need this.
bshe
2013/10/24 13:25:20
Done.
|
+ keyboard_container->SetBounds(root_bounds); |
+ root_window()->AddChild(keyboard_container); |
+ |
+ EXPECT_TRUE(keyboard_container->IsVisible()); |
+ |
+ input_method->SetFocusedTextInputClient(&no_input_client); |
+ // Keyboard should not hide itself after lost focus. |
+ EXPECT_TRUE(keyboard_container->IsVisible()); |
+ EXPECT_FALSE(WillHideKeyboard()); |
+} |
+ |
} // namespace keyboard |