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

Unified Diff: athena/home/home_card_gesture_manager_unittest.cc

Issue 529813002: Simplify HomeCardGestureManager::UpdateScrollState() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
Index: athena/home/home_card_gesture_manager_unittest.cc
diff --git a/athena/home/home_card_gesture_manager_unittest.cc b/athena/home/home_card_gesture_manager_unittest.cc
index 409a24957aa719374df6f4886d3b954eab552e2f..de97f5bafb6eb262cc66029d63df89d4d8f724b9 100644
--- a/athena/home/home_card_gesture_manager_unittest.cc
+++ b/athena/home/home_card_gesture_manager_unittest.cc
@@ -48,11 +48,18 @@ class HomeCardGestureManagerTest : public test::AthenaTestBase,
bool ProcessGestureEvent(ui::EventType type, int y) {
ui::GestureEvent event(0, y, ui::EF_NONE, base::TimeDelta(),
ui::GestureEventDetails(type, 0, (y - last_y_)));
- // Assumes the initial location is based on minimized height.
if (type == ui::ET_GESTURE_SCROLL_BEGIN) {
+ // Compute the position that the home card would have wrt to the top of
+ // the screen if the screen had screen_bounds().
+ HomeCard::State state = HomeCard::Get()->GetState();
+ int home_card_top = 0;
+ if (state == HomeCard::VISIBLE_BOTTOM)
+ home_card_top = screen_bounds().height() - kHomeCardHeight;
+ else if (state == HomeCard::VISIBLE_MINIMIZED)
+ home_card_top = screen_bounds().height() - kHomeCardMinimizedHeight;
+
gfx::Point location = event.location();
- location.set_y(
- location.y() - (screen_bounds().bottom() - kHomeCardMinimizedHeight));
+ location.set_y(location.y() - home_card_top);
event.set_location(location);
}
gesture_manager_->ProcessGestureEvent(&event);
@@ -100,6 +107,8 @@ class HomeCardGestureManagerTest : public test::AthenaTestBase,
};
TEST_F(HomeCardGestureManagerTest, Basic) {
+ EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
Jun Mukai 2014/09/03 07:16:49 This might be better to be ASSERT_EQ I guess (and
+
EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
EXPECT_EQ(0, GetEndCountAndReset());
EXPECT_EQ(0, GetProgressCountAndReset());
@@ -110,6 +119,13 @@ TEST_F(HomeCardGestureManagerTest, Basic) {
EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_to_state_);
EXPECT_GT(1.0f, last_progress_);
+ ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1020);
+ ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1022);
+ EXPECT_EQ(2, GetProgressCountAndReset());
+ EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_from_state_);
+ EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, last_to_state_);
+ EXPECT_EQ(1.0f, last_progress_);
+
ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1010);
float progress_1010 = last_progress_;
ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1008);
@@ -134,16 +150,44 @@ TEST_F(HomeCardGestureManagerTest, Basic) {
EXPECT_LT(progress_800, last_progress_);
ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 810);
- EXPECT_EQ(HomeCard::VISIBLE_CENTERED, last_from_state_);
- EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_to_state_);
- EXPECT_GT(progress_800, (1.0f - last_progress_));
+ EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_from_state_);
+ EXPECT_EQ(HomeCard::VISIBLE_CENTERED, last_to_state_);
+ EXPECT_GT(progress_800, last_progress_);
EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_END, 810));
EXPECT_EQ(1, GetEndCountAndReset());
EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, final_state_);
}
+// Test gesture progress when the gesture is initiated when the home card is in
+// the centered state.
+TEST_F(HomeCardGestureManagerTest, StartCentered) {
+ HomeCard::Get()->SetState(HomeCard::VISIBLE_CENTERED);
+
+ EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 20));
+
+ ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 10);
+ EXPECT_EQ(1, GetProgressCountAndReset());
+ EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_from_state_);
+ EXPECT_EQ(HomeCard::VISIBLE_CENTERED, last_to_state_);
+ EXPECT_EQ(1.0f, last_progress_);
+
+ ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 900);
+ ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 910);
+ EXPECT_EQ(2, GetProgressCountAndReset());
+ EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_from_state_);
+ EXPECT_EQ(HomeCard::VISIBLE_CENTERED, last_to_state_);
+ EXPECT_GT(1.0f, last_progress_);
+ EXPECT_LT(0.0f, last_progress_);
+
+ EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_END, 1000));
+ EXPECT_EQ(1, GetEndCountAndReset());
+ EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, final_state_);
+}
+
TEST_F(HomeCardGestureManagerTest, FlingUpAtEnd) {
+ EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
+
EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
EXPECT_EQ(0, GetEndCountAndReset());
EXPECT_EQ(0, GetProgressCountAndReset());
@@ -156,6 +200,8 @@ TEST_F(HomeCardGestureManagerTest, FlingUpAtEnd) {
}
TEST_F(HomeCardGestureManagerTest, FlingDownAtEnd) {
+ EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
+
EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
EXPECT_EQ(0, GetEndCountAndReset());
EXPECT_EQ(0, GetProgressCountAndReset());
@@ -169,6 +215,8 @@ TEST_F(HomeCardGestureManagerTest, FlingDownAtEnd) {
}
TEST_F(HomeCardGestureManagerTest, WeakFling) {
+ EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
+
EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
EXPECT_EQ(0, GetEndCountAndReset());
EXPECT_EQ(0, GetProgressCountAndReset());

Powered by Google App Engine
This is Rietveld 408576698