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

Unified Diff: ui/keyboard/keyboard_controller_unittest.cc

Issue 2122873002: Add virtualKeyboardPrivate.onKeyboardClosed API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test error. Created 4 years, 3 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
« no previous file with comments | « ui/keyboard/keyboard_controller_observer.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/keyboard/keyboard_controller_unittest.cc
diff --git a/ui/keyboard/keyboard_controller_unittest.cc b/ui/keyboard/keyboard_controller_unittest.cc
index 4f00f2fbdded85cc23014d5dbf670bfe28db6caa..0ca311d47305fabd0bfe8659d6f686821828c135 100644
--- a/ui/keyboard/keyboard_controller_unittest.cc
+++ b/ui/keyboard/keyboard_controller_unittest.cc
@@ -171,7 +171,8 @@ class KeyboardContainerObserver : public aura::WindowObserver {
class KeyboardControllerTest : public testing::Test,
public KeyboardControllerObserver {
public:
- KeyboardControllerTest() : number_of_calls_(0), ui_(nullptr) {}
+ KeyboardControllerTest()
+ : number_of_calls_(0), ui_(nullptr), keyboard_closed_(false) {}
~KeyboardControllerTest() override {}
void SetUp() override {
@@ -191,7 +192,8 @@ class KeyboardControllerTest : public testing::Test,
}
void TearDown() override {
- controller()->RemoveObserver(this);
+ if (controller())
+ controller()->RemoveObserver(this);
controller_.reset();
focus_controller_.reset();
aura_test_helper_->TearDown();
@@ -220,11 +222,14 @@ class KeyboardControllerTest : public testing::Test,
notified_bounds_ = new_bounds;
number_of_calls_++;
}
+ void OnKeyboardClosed() override { keyboard_closed_ = true; }
int number_of_calls() const { return number_of_calls_; }
const gfx::Rect& notified_bounds() { return notified_bounds_; }
+ bool IsKeyboardClosed() { return keyboard_closed_; }
+
void SetFocus(ui::TextInputClient* client) {
ui::InputMethod* input_method = ui()->GetInputMethod();
input_method->SetFocusedTextInputClient(client);
@@ -251,6 +256,8 @@ class KeyboardControllerTest : public testing::Test,
controller_->keyboard_visible());
}
+ void ResetController() { controller_.reset(); }
+
base::MessageLoopForUI message_loop_;
std::unique_ptr<aura::test::AuraTestHelper> aura_test_helper_;
std::unique_ptr<TestFocusController> focus_controller_;
@@ -261,6 +268,7 @@ class KeyboardControllerTest : public testing::Test,
KeyboardUI* ui_;
std::unique_ptr<KeyboardController> controller_;
std::unique_ptr<ui::TextInputClient> test_text_input_client_;
+ bool keyboard_closed_;
DISALLOW_COPY_AND_ASSIGN(KeyboardControllerTest);
};
@@ -527,6 +535,22 @@ TEST_F(KeyboardControllerTest, AlwaysVisibleWhenLocked) {
keyboard::SetAccessibilityKeyboardEnabled(false);
}
+// Tests that deactivates keyboard will get closed event.
+TEST_F(KeyboardControllerTest, CloseKeyboard) {
+ keyboard::SetAccessibilityKeyboardEnabled(true);
+ aura::Window* keyboard_container(controller()->GetContainerWindow());
+ root_window()->AddChild(keyboard_container);
+ keyboard_container->Show();
+
+ ShowKeyboard();
+ EXPECT_TRUE(keyboard_container->IsVisible());
+ EXPECT_FALSE(IsKeyboardClosed());
+
+ root_window()->RemoveChild(keyboard_container);
+ ResetController();
+ EXPECT_TRUE(IsKeyboardClosed());
+}
+
class KeyboardControllerAnimationTest : public KeyboardControllerTest {
public:
KeyboardControllerAnimationTest() {}
« no previous file with comments | « ui/keyboard/keyboard_controller_observer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698