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

Unified Diff: ash/accelerators/accelerator_controller_unittest.cc

Issue 2925683002: Revert of chromeos: Remove some IME methods from ash::SystemTrayDelegate (Closed)
Patch Set: Created 3 years, 6 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 | « ash/accelerators/accelerator_controller.cc ('k') | ash/ime/ime_switch_type.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/accelerators/accelerator_controller_unittest.cc
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc
index 178130e40c216bfd6914f306d307fc83ee136b33..e9de06f61e32e426727d11743565484a787d9c83 100644
--- a/ash/accelerators/accelerator_controller_unittest.cc
+++ b/ash/accelerators/accelerator_controller_unittest.cc
@@ -8,6 +8,7 @@
#include "ash/accessibility_delegate.h"
#include "ash/accessibility_types.h"
#include "ash/ash_switches.h"
+#include "ash/ime_control_delegate.h"
#include "ash/public/cpp/config.h"
#include "ash/public/cpp/shell_window_ids.h"
#include "ash/session/session_controller.h"
@@ -53,8 +54,6 @@
#include "ui/events/test/events_test_utils_x11.h"
#endif
-using chromeos::input_method::InputMethodManager;
-
namespace ash {
namespace {
@@ -125,57 +124,34 @@
DISALLOW_COPY_AND_ASSIGN(DummyBrightnessControlDelegate);
};
-class TestInputMethodManagerState
- : public chromeos::input_method::MockInputMethodManager::State {
+class DummyImeControlDelegate : public ImeControlDelegate {
public:
- TestInputMethodManagerState() = default;
-
- // InputMethodManager::State:
- bool CanCycleInputMethod() override { return can_change_input_method_; }
- void SwitchToNextInputMethod() override { next_ime_count_++; }
- void SwitchToPreviousInputMethod() override { previous_ime_count_++; }
- bool CanSwitchInputMethod(const ui::Accelerator& accelerator) override {
- return can_change_input_method_;
- }
- void SwitchInputMethod(const ui::Accelerator& accelerator) override {
- switch_ime_count_++;
- }
-
- bool can_change_input_method_ = true;
- int next_ime_count_ = 0;
- int previous_ime_count_ = 0;
- int switch_ime_count_ = 0;
+ DummyImeControlDelegate()
+ : handle_next_ime_count_(0),
+ handle_previous_ime_count_(0),
+ handle_switch_ime_count_(0) {}
+ ~DummyImeControlDelegate() override {}
+
+ bool CanCycleIme() override { return true; }
+ void HandleNextIme() override { ++handle_next_ime_count_; }
+ void HandlePreviousIme() override { ++handle_previous_ime_count_; }
+ bool CanSwitchIme(const ui::Accelerator& accelerator) override {
+ return true;
+ }
+ void HandleSwitchIme(const ui::Accelerator& accelerator) override {
+ ++handle_switch_ime_count_;
+ }
+
+ int handle_next_ime_count() const { return handle_next_ime_count_; }
+ int handle_previous_ime_count() const { return handle_previous_ime_count_; }
+ int handle_switch_ime_count() const { return handle_switch_ime_count_; }
private:
- // Base class is ref-counted.
- ~TestInputMethodManagerState() override = default;
-
- DISALLOW_COPY_AND_ASSIGN(TestInputMethodManagerState);
-};
-
-class TestInputMethodManager
- : public chromeos::input_method::MockInputMethodManager {
- public:
- TestInputMethodManager() : state_(new TestInputMethodManagerState) {}
- ~TestInputMethodManager() override = default;
-
- void SetCanChangeInputMethod(bool can_change) {
- state_->can_change_input_method_ = can_change;
- }
-
- // MockInputMethodManager:
- chromeos::input_method::ImeKeyboard* GetImeKeyboard() override {
- return &keyboard_;
- }
- scoped_refptr<InputMethodManager::State> GetActiveIMEState() override {
- return state_;
- }
-
- chromeos::input_method::FakeImeKeyboard keyboard_;
- scoped_refptr<TestInputMethodManagerState> state_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(TestInputMethodManager);
+ int handle_next_ime_count_;
+ int handle_previous_ime_count_;
+ int handle_switch_ime_count_;
+
+ DISALLOW_COPY_AND_ASSIGN(DummyImeControlDelegate);
};
class DummyKeyboardBrightnessControlDelegate
@@ -231,20 +207,8 @@
class AcceleratorControllerTest : public test::AshTestBase {
public:
- AcceleratorControllerTest() = default;
- ~AcceleratorControllerTest() override = default;
-
- void SetUp() override {
- test::AshTestBase::SetUp();
- test_input_method_manager_ = new TestInputMethodManager;
- // Takes ownership.
- InputMethodManager::Initialize(test_input_method_manager_);
- }
-
- void TearDown() override {
- InputMethodManager::Shutdown();
- test::AshTestBase::TearDown();
- }
+ AcceleratorControllerTest() {}
+ ~AcceleratorControllerTest() override {}
protected:
static AcceleratorController* GetController();
@@ -299,9 +263,6 @@
std::unique_ptr<KeyboardBrightnessControlDelegate> delegate) {
Shell::Get()->keyboard_brightness_control_delegate_ = std::move(delegate);
}
-
- // Owned by InputMethodManager.
- TestInputMethodManager* test_input_method_manager_ = nullptr;
private:
DISALLOW_COPY_AND_ASSIGN(AcceleratorControllerTest);
@@ -888,11 +849,7 @@
}
TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) {
- TestInputMethodManagerState* test_state =
- test_input_method_manager_->state_.get();
-
- // Test IME shortcuts when cycling IME is blocked.
- test_state->can_change_input_method_ = false;
+ // Test IME shortcuts.
ui::Accelerator control_space_down(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN);
ui::Accelerator control_space_up(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN);
control_space_up.set_key_state(ui::Accelerator::KeyState::RELEASED);
@@ -908,25 +865,25 @@
EXPECT_FALSE(ProcessInController(wide_half_1));
EXPECT_FALSE(ProcessInController(wide_half_2));
EXPECT_FALSE(ProcessInController(hangul));
-
- // Test IME shortcuts when cycling IME is allowed.
- test_state->can_change_input_method_ = true;
- EXPECT_EQ(0, test_state->previous_ime_count_);
+ DummyImeControlDelegate* delegate = new DummyImeControlDelegate;
+ GetController()->SetImeControlDelegate(
+ std::unique_ptr<ImeControlDelegate>(delegate));
+ EXPECT_EQ(0, delegate->handle_previous_ime_count());
EXPECT_TRUE(ProcessInController(control_space_down));
- EXPECT_EQ(1, test_state->previous_ime_count_);
+ EXPECT_EQ(1, delegate->handle_previous_ime_count());
EXPECT_TRUE(ProcessInController(control_space_up));
- EXPECT_EQ(1, test_state->previous_ime_count_);
- EXPECT_EQ(0, test_state->switch_ime_count_);
+ EXPECT_EQ(1, delegate->handle_previous_ime_count());
+ EXPECT_EQ(0, delegate->handle_switch_ime_count());
EXPECT_TRUE(ProcessInController(convert));
- EXPECT_EQ(1, test_state->switch_ime_count_);
+ EXPECT_EQ(1, delegate->handle_switch_ime_count());
EXPECT_TRUE(ProcessInController(non_convert));
- EXPECT_EQ(2, test_state->switch_ime_count_);
+ EXPECT_EQ(2, delegate->handle_switch_ime_count());
EXPECT_TRUE(ProcessInController(wide_half_1));
- EXPECT_EQ(3, test_state->switch_ime_count_);
+ EXPECT_EQ(3, delegate->handle_switch_ime_count());
EXPECT_TRUE(ProcessInController(wide_half_2));
- EXPECT_EQ(4, test_state->switch_ime_count_);
+ EXPECT_EQ(4, delegate->handle_switch_ime_count());
EXPECT_TRUE(ProcessInController(hangul));
- EXPECT_EQ(5, test_state->switch_ime_count_);
+ EXPECT_EQ(5, delegate->handle_switch_ime_count());
}
// TODO(nona|mazda): Remove this when crbug.com/139556 in a better way.
@@ -975,8 +932,45 @@
namespace {
+class TestInputMethodManager
+ : public chromeos::input_method::MockInputMethodManager {
+ public:
+ TestInputMethodManager() = default;
+ ~TestInputMethodManager() override = default;
+
+ // MockInputMethodManager:
+ chromeos::input_method::ImeKeyboard* GetImeKeyboard() override {
+ return &keyboard_;
+ }
+
+ private:
+ chromeos::input_method::FakeImeKeyboard keyboard_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestInputMethodManager);
+};
+
+class ToggleCapsLockTest : public AcceleratorControllerTest {
+ public:
+ ToggleCapsLockTest() = default;
+ ~ToggleCapsLockTest() override = default;
+
+ void SetUp() override {
+ AcceleratorControllerTest::SetUp();
+ chromeos::input_method::InputMethodManager::Initialize(
+ new TestInputMethodManager);
+ }
+
+ void TearDown() override {
+ chromeos::input_method::InputMethodManager::Shutdown();
+ AcceleratorControllerTest::TearDown();
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ToggleCapsLockTest);
+};
+
// Tests the five combinations of the TOGGLE_CAPS_LOCK accelerator.
-TEST_F(AcceleratorControllerTest, ToggleCapsLockAccelerators) {
+TEST_F(ToggleCapsLockTest, ToggleCapsLockAccelerators) {
chromeos::input_method::InputMethodManager* input_method_manager =
chromeos::input_method::InputMethodManager::Get();
ASSERT_TRUE(input_method_manager);
@@ -1268,8 +1262,17 @@
// defines a class to test the behavior of deprecated accelerators.
class DeprecatedAcceleratorTester : public AcceleratorControllerTest {
public:
- DeprecatedAcceleratorTester() = default;
- ~DeprecatedAcceleratorTester() override = default;
+ DeprecatedAcceleratorTester() {}
+ ~DeprecatedAcceleratorTester() override {}
+
+ void SetUp() override {
+ AcceleratorControllerTest::SetUp();
+
+ // For testing the deprecated and new IME shortcuts.
+ DummyImeControlDelegate* delegate = new DummyImeControlDelegate;
+ GetController()->SetImeControlDelegate(
+ std::unique_ptr<ImeControlDelegate>(delegate));
+ }
ui::Accelerator CreateAccelerator(const AcceleratorData& data) const {
ui::Accelerator result(data.keycode, data.modifiers);
« no previous file with comments | « ash/accelerators/accelerator_controller.cc ('k') | ash/ime/ime_switch_type.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698