Index: ash/system/ime_menu/ime_menu_tray_unittest.cc |
diff --git a/ash/system/ime_menu/ime_menu_tray_unittest.cc b/ash/system/ime_menu/ime_menu_tray_unittest.cc |
index ceb41df42207c68d10db7764671ca9968df7ad03..61663037a726e9f102aea772f60fd9dc3bfd09ae 100644 |
--- a/ash/system/ime_menu/ime_menu_tray_unittest.cc |
+++ b/ash/system/ime_menu/ime_menu_tray_unittest.cc |
@@ -7,6 +7,7 @@ |
#include "ash/accelerators/accelerator_controller.h" |
#include "ash/accessibility_delegate.h" |
#include "ash/shell.h" |
+#include "ash/system/ime/ime_util.h" |
#include "ash/system/ime_menu/ime_list_view.h" |
#include "ash/system/status_area_widget.h" |
#include "ash/system/tray/ime_info.h" |
@@ -53,7 +54,9 @@ class TestInputMethodManager : public MockInputMethodManager { |
class ImeMenuTrayTest : public test::AshTestBase { |
public: |
- ImeMenuTrayTest() = default; |
+ ImeMenuTrayTest() |
+ : scoped_current_ime_(¤t_ime_), |
+ scoped_available_ime_list_(&available_ime_list_) {} |
~ImeMenuTrayTest() override = default; |
// test::AshTestBase: |
@@ -119,7 +122,19 @@ class ImeMenuTrayTest : public test::AshTestBase { |
ui::IMEBridge::Get()->SetCurrentInputContext(input_context); |
} |
+ void SetCurrentIme(const IMEInfo& info) { current_ime_ = info; } |
+ |
+ void SetAvailableImeList(const std::vector<IMEInfo>& list) { |
+ available_ime_list_ = list; |
+ } |
+ |
private: |
+ IMEInfo current_ime_; |
+ ime_util::ScopedCurrentImeForTesting scoped_current_ime_; |
+ |
+ std::vector<IMEInfo> available_ime_list_; |
+ ime_util::ScopedAvailableImeListForTesting scoped_available_ime_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ImeMenuTrayTest); |
}; |
@@ -148,7 +163,7 @@ TEST_F(ImeMenuTrayTest, TrayLabelTest) { |
info1.short_name = UTF8ToUTF16("US"); |
info1.third_party = false; |
info1.selected = true; |
- GetSystemTrayDelegate()->SetCurrentIME(info1); |
+ SetCurrentIme(info1); |
Shell::Get()->system_tray_notifier()->NotifyRefreshIME(); |
EXPECT_EQ(UTF8ToUTF16("US"), GetTrayText()); |
@@ -160,7 +175,7 @@ TEST_F(ImeMenuTrayTest, TrayLabelTest) { |
info2.short_name = UTF8ToUTF16("UK"); |
info2.third_party = true; |
info2.selected = true; |
- GetSystemTrayDelegate()->SetCurrentIME(info2); |
+ SetCurrentIme(info2); |
Shell::Get()->system_tray_notifier()->NotifyRefreshIME(); |
EXPECT_EQ(UTF8ToUTF16("UK*"), GetTrayText()); |
} |
@@ -234,18 +249,20 @@ TEST_F(ImeMenuTrayTest, RefreshImeWithListViewCreated) { |
info3.third_party = false; |
info3.selected = false; |
- std::vector<IMEInfo> ime_info_list{info1, info2, info3}; |
+ std::vector<IMEInfo> ime_info_list = {info1, info2, info3}; |
- GetSystemTrayDelegate()->SetAvailableIMEList(ime_info_list); |
- GetSystemTrayDelegate()->SetCurrentIME(info1); |
+ // Simulate switch to IME 1. |
+ SetAvailableImeList(ime_info_list); |
+ SetCurrentIme(info1); |
Shell::Get()->system_tray_notifier()->NotifyRefreshIME(); |
EXPECT_EQ(UTF8ToUTF16("US"), GetTrayText()); |
EXPECT_TRUE(IsTrayImeListValid(ime_info_list, info1)); |
+ // Simulate switch to IME 3. |
ime_info_list[0].selected = false; |
ime_info_list[2].selected = true; |
- GetSystemTrayDelegate()->SetAvailableIMEList(ime_info_list); |
- GetSystemTrayDelegate()->SetCurrentIME(info3); |
+ SetAvailableImeList(ime_info_list); |
+ SetCurrentIme(info3); |
Shell::Get()->system_tray_notifier()->NotifyRefreshIME(); |
EXPECT_EQ(UTF8ToUTF16("拼"), GetTrayText()); |
EXPECT_TRUE(IsTrayImeListValid(ime_info_list, info3)); |