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

Unified Diff: ash/system/ime/tray_ime_chromeos_unittest.cc

Issue 843603004: Moves smart deploy UI into the IME tray. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert accidental edit of a file. Created 5 years, 11 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
Index: ash/system/ime/tray_ime_chromeos_unittest.cc
diff --git a/ash/system/chromeos/virtual_keyboard/tray_keyboard_lock_unittest.cc b/ash/system/ime/tray_ime_chromeos_unittest.cc
similarity index 51%
copy from ash/system/chromeos/virtual_keyboard/tray_keyboard_lock_unittest.cc
copy to ash/system/ime/tray_ime_chromeos_unittest.cc
index c95417712524aef2799f97a75e5f002f3c7a49fb..c73375ce63645f77f3133c65e6e2928603f2fdaa 100644
--- a/ash/system/chromeos/virtual_keyboard/tray_keyboard_lock_unittest.cc
+++ b/ash/system/ime/tray_ime_chromeos_unittest.cc
@@ -2,11 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ash/system/chromeos/virtual_keyboard/tray_keyboard_lock.h"
+#include "ash/system/ime/tray_ime_chromeos.h"
#include "ash/accessibility_delegate.h"
#include "ash/shell.h"
#include "ash/system/status_area_widget.h"
+#include "ash/system/tray/system_tray_notifier.h"
#include "ash/test/ash_test_base.h"
#include "ash/test/status_area_widget_test_helper.h"
#include "ash/test/virtual_keyboard_test_helper.h"
@@ -16,16 +17,18 @@
namespace ash {
-class TrayKeyboardLockTest : public test::AshTestBase {
+class TrayIMETest : public test::AshTestBase {
public:
- TrayKeyboardLockTest() {}
- virtual ~TrayKeyboardLockTest() {}
+ TrayIMETest() {}
+ virtual ~TrayIMETest() {}
- TrayKeyboardLock* tray() { return tray_.get(); }
+ TrayIME* tray() { return tray_.get(); }
views::View* default_view() { return default_view_.get(); }
- // Sets up a TrayKeyboardLock and its default view.
+ views::View* detailed_view() { return detailed_view_.get(); }
+
+ // Sets up a TrayIME and its default view.
void SetUpForStatusAreaWidget(StatusAreaWidget* status_area_widget);
// Mocks enabling the a11y virtual keyboard since the actual a11y manager
@@ -33,27 +36,37 @@ class TrayKeyboardLockTest : public test::AshTestBase {
void SetAccessibilityKeyboardEnabled(bool enabled);
// Resets |tray_| and |default_view_| so that all components of
- // TrayKeyboardLock have been cleared. Tests may then call
+ // TrayIME have been cleared. Tests may then call
// SetUpForStatusAreaWidget in order to initialize the components.
void TearDownViews();
+ // Sets the current number of active IMEs.
+ void SetIMELength(int length);
+
+ // Returns the view in the detailed views scroll content at the provided
+ // index.
+ views::View* GetScrollChildView(int index);
+
// test::AshTestBase:
virtual void SetUp() override;
virtual void TearDown() override;
private:
- scoped_ptr<TrayKeyboardLock> tray_;
+ scoped_ptr<TrayIME> tray_;
scoped_ptr<views::View> default_view_;
+ scoped_ptr<views::View> detailed_view_;
};
-void TrayKeyboardLockTest::SetUpForStatusAreaWidget(
+void TrayIMETest::SetUpForStatusAreaWidget(
StatusAreaWidget* status_area_widget) {
- tray_.reset(new TrayKeyboardLock(status_area_widget->system_tray()));
+ tray_.reset(new TrayIME(status_area_widget->system_tray()));
default_view_.reset(tray_->CreateDefaultView(
StatusAreaWidgetTestHelper::GetUserLoginStatus()));
+ detailed_view_.reset(tray_->CreateDetailedView(
+ StatusAreaWidgetTestHelper::GetUserLoginStatus()));
}
-void TrayKeyboardLockTest::SetAccessibilityKeyboardEnabled(bool enabled) {
+void TrayIMETest::SetAccessibilityKeyboardEnabled(bool enabled) {
Shell::GetInstance()->accessibility_delegate()->SetVirtualKeyboardEnabled(
enabled);
keyboard::SetAccessibilityKeyboardEnabled(enabled);
@@ -64,32 +77,57 @@ void TrayKeyboardLockTest::SetAccessibilityKeyboardEnabled(bool enabled) {
notification);
}
-void TrayKeyboardLockTest::TearDownViews() {
- default_view_.reset();
+void TrayIMETest::TearDownViews() {
tray_.reset();
+ default_view_.reset();
+ detailed_view_.reset();
+}
+
+void TrayIMETest::SetIMELength(int length) {
+ tray_->ime_list_.clear();
+ IMEInfo ime;
+ for (int i = 0; i < length; i++) {
+ tray_->ime_list_.push_back(ime);
+ }
+ tray_->Update();
}
-void TrayKeyboardLockTest::SetUp() {
+views::View* TrayIMETest::GetScrollChildView(int index) {
+ TrayDetailsView* details = static_cast<TrayDetailsView*>(detailed_view());
+ views::View* content = details->scroll_content();
+ EXPECT_TRUE(content);
+ EXPECT_GT(content->child_count(), index);
+ return content->child_at(index);
+}
+
+void TrayIMETest::SetUp() {
base::CommandLine::ForCurrentProcess()->AppendSwitch(
keyboard::switches::kEnableAutoVirtualKeyboard);
test::AshTestBase::SetUp();
SetUpForStatusAreaWidget(StatusAreaWidgetTestHelper::GetStatusAreaWidget());
}
-void TrayKeyboardLockTest::TearDown() {
+void TrayIMETest::TearDown() {
SetAccessibilityKeyboardEnabled(false);
TearDownViews();
test::AshTestBase::TearDown();
}
-// Tests that when the tray is initially created that the default view is
-// hidden.
-TEST_F(TrayKeyboardLockTest, HiddenOnCreation) {
+// Tests that if the keyboard is not suppressed the default view is hidden
+// if less than 2 IMEs are present.
+TEST_F(TrayIMETest, HiddenWithNoIMEs) {
+ SetIMELength(0);
+ EXPECT_FALSE(default_view()->visible());
+ SetIMELength(1);
EXPECT_FALSE(default_view()->visible());
+ SetIMELength(2);
+ EXPECT_TRUE(default_view()->visible());
}
-// Tests that the default view and tray are hidden when a11y is enabled.
-TEST_F(TrayKeyboardLockTest, HidesOnA11yEnabled) {
+// Tests that if no IMEs are present the default view is hidden when a11y is
+// enabled.
+TEST_F(TrayIMETest, HidesOnA11yEnabled) {
+ SetIMELength(0);
test::VirtualKeyboardTestHelper::SuppressKeyboard();
EXPECT_TRUE(default_view()->visible());
// Enable a11y keyboard.
@@ -100,22 +138,25 @@ TEST_F(TrayKeyboardLockTest, HidesOnA11yEnabled) {
EXPECT_TRUE(default_view()->visible());
}
-TEST_F(TrayKeyboardLockTest, PerformActionOnDefaultView) {
+// Tests that clicking on the keyboard toggle causes the virtual keyboard
+// to toggle between enabled and disabled.
+TEST_F(TrayIMETest, PerformActionOnDetailedView) {
+ SetIMELength(0);
test::VirtualKeyboardTestHelper::SuppressKeyboard();
EXPECT_FALSE(keyboard::IsKeyboardEnabled());
- EXPECT_TRUE(default_view()->visible());
-
- ui::GestureEvent tap(
- 0, 0, 0, base::TimeDelta(), ui::GestureEventDetails(ui::ET_GESTURE_TAP));
- default_view()->OnGestureEvent(&tap);
+ views::View* toggle = GetScrollChildView(0);
+ ui::GestureEvent tap(0, 0, 0, base::TimeDelta(),
+ ui::GestureEventDetails(ui::ET_GESTURE_TAP));
+ // Enable the keyboard.
+ toggle->OnGestureEvent(&tap);
EXPECT_TRUE(keyboard::IsKeyboardEnabled());
- EXPECT_TRUE(default_view()->visible());
-
- tap = ui::GestureEvent(
- 0, 0, 0, base::TimeDelta(), ui::GestureEventDetails(ui::ET_GESTURE_TAP));
- default_view()->OnGestureEvent(&tap);
+ // With no IMEs the toggle should be the first child.
+ toggle = GetScrollChildView(0);
+ // Clicking again should disable the keyboard.
+ tap = ui::GestureEvent(0, 0, 0, base::TimeDelta(),
+ ui::GestureEventDetails(ui::ET_GESTURE_TAP));
+ toggle->OnGestureEvent(&tap);
EXPECT_FALSE(keyboard::IsKeyboardEnabled());
Mr4D (OOO till 08-26) 2015/01/12 22:35:37 If the opposite is now true (!visible) - chouldn't
rsadam 2015/01/13 00:05:34 I'm not sure I follow - the keyboard is disabled,
Mr4D (OOO till 08-26) 2015/01/13 15:04:05 Oh - I have meant the test which you have removed
- EXPECT_TRUE(default_view()->visible());
}
} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698