Chromium Code Reviews| 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 |