| 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
 | 
| deleted file mode 100644
 | 
| index 91d70305fc7e7fd1e25f1ad30ba5a16bc330e397..0000000000000000000000000000000000000000
 | 
| --- a/athena/home/home_card_gesture_manager_unittest.cc
 | 
| +++ /dev/null
 | 
| @@ -1,300 +0,0 @@
 | 
| -// Copyright 2014 The Chromium Authors. All rights reserved.
 | 
| -// Use of this source code is governed by a BSD-style license that can be
 | 
| -// found in the LICENSE file.
 | 
| -
 | 
| -#include "athena/home/home_card_gesture_manager.h"
 | 
| -
 | 
| -#include "athena/home/home_card_constants.h"
 | 
| -#include "athena/home/public/home_card.h"
 | 
| -#include "athena/test/base/athena_test_base.h"
 | 
| -#include "base/time/time.h"
 | 
| -#include "ui/events/event.h"
 | 
| -#include "ui/events/event_constants.h"
 | 
| -
 | 
| -namespace athena {
 | 
| -
 | 
| -class HomeCardGestureManagerTest : public test::AthenaTestBase,
 | 
| -                                   public HomeCardGestureManager::Delegate {
 | 
| - public:
 | 
| -  HomeCardGestureManagerTest()
 | 
| -      : final_state_(HomeCard::HIDDEN),
 | 
| -        last_from_state_(HomeCard::HIDDEN),
 | 
| -        last_to_state_(HomeCard::HIDDEN),
 | 
| -        last_progress_(0.0f),
 | 
| -        was_fling_(false),
 | 
| -        last_y_(0),
 | 
| -        progress_count_(0),
 | 
| -        end_count_(0) {}
 | 
| -  ~HomeCardGestureManagerTest() override {}
 | 
| -
 | 
| -  // testing::Test:
 | 
| -  void SetUp() override {
 | 
| -    test::AthenaTestBase::SetUp();
 | 
| -    gesture_manager_.reset(new HomeCardGestureManager(this, screen_bounds()));
 | 
| -  }
 | 
| -
 | 
| - protected:
 | 
| -  int GetEndCountAndReset() {
 | 
| -    int result = end_count_;
 | 
| -    end_count_ = 0;
 | 
| -    return result;
 | 
| -  }
 | 
| -  int GetProgressCountAndReset() {
 | 
| -    int result = progress_count_;
 | 
| -    progress_count_ = 0;
 | 
| -    return result;
 | 
| -  }
 | 
| -
 | 
| -  // Process a gesture event for our use case.
 | 
| -  bool ProcessGestureEvent(ui::EventType type, int y) {
 | 
| -    ui::GestureEventDetails details;
 | 
| -    if (type == ui::ET_GESTURE_SCROLL_BEGIN ||
 | 
| -        type == ui::ET_GESTURE_SCROLL_UPDATE)
 | 
| -      details = ui::GestureEventDetails(type, 0, (y - last_y_));
 | 
| -    else
 | 
| -      details = ui::GestureEventDetails(type);
 | 
| -    ui::GestureEvent event(0, y, ui::EF_NONE, base::TimeDelta(), details);
 | 
| -    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() - home_card_top);
 | 
| -      event.set_location(location);
 | 
| -    }
 | 
| -    gesture_manager_->ProcessGestureEvent(&event);
 | 
| -    last_y_ = y;
 | 
| -    return event.handled();
 | 
| -  }
 | 
| -
 | 
| -  void ProcessFlingGesture(float velocity) {
 | 
| -    ui::GestureEvent event(0, last_y_, ui::EF_NONE, base::TimeDelta(),
 | 
| -                           ui::GestureEventDetails(
 | 
| -                               ui::ET_SCROLL_FLING_START, 0, velocity));
 | 
| -    gesture_manager_->ProcessGestureEvent(&event);
 | 
| -  }
 | 
| -
 | 
| -  int screen_height() const {
 | 
| -    return screen_bounds().height();
 | 
| -  }
 | 
| -
 | 
| -  HomeCard::State final_state_;
 | 
| -  HomeCard::State last_from_state_;
 | 
| -  HomeCard::State last_to_state_;
 | 
| -  float last_progress_;
 | 
| -  bool was_fling_;
 | 
| -
 | 
| - private:
 | 
| -  gfx::Rect screen_bounds() const {
 | 
| -    return gfx::Rect(0, 0, 1280, 1024);
 | 
| -  }
 | 
| -
 | 
| -  // HomeCardGestureManager::Delegate:
 | 
| -  void OnGestureEnded(HomeCard::State final_state, bool is_fling) override {
 | 
| -    final_state_ = final_state;
 | 
| -    was_fling_ = is_fling;
 | 
| -    ++end_count_;
 | 
| -  }
 | 
| -
 | 
| -  void OnGestureProgressed(HomeCard::State from_state,
 | 
| -                           HomeCard::State to_state,
 | 
| -                           float progress) override {
 | 
| -    last_from_state_ = from_state;
 | 
| -    last_to_state_ = to_state;
 | 
| -    last_progress_ = progress;
 | 
| -    ++progress_count_;
 | 
| -  }
 | 
| -
 | 
| -  int last_y_;
 | 
| -  int progress_count_;
 | 
| -  int end_count_;
 | 
| -  scoped_ptr<HomeCardGestureManager> gesture_manager_;
 | 
| -
 | 
| -  DISALLOW_COPY_AND_ASSIGN(HomeCardGestureManagerTest);
 | 
| -};
 | 
| -
 | 
| -TEST_F(HomeCardGestureManagerTest, Basic) {
 | 
| -  ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
 | 
| -
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
 | 
| -  EXPECT_EQ(0, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(0, GetProgressCountAndReset());
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1019);
 | 
| -  EXPECT_EQ(1, GetProgressCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, last_from_state_);
 | 
| -  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);
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1000);
 | 
| -  EXPECT_EQ(3, GetProgressCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, last_from_state_);
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_to_state_);
 | 
| -  EXPECT_LT(progress_1010, last_progress_);
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 900);
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 800);
 | 
| -  EXPECT_EQ(2, GetProgressCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_from_state_);
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_CENTERED, last_to_state_);
 | 
| -  float progress_800 = last_progress_;
 | 
| -  EXPECT_GT(1.0f, last_progress_);
 | 
| -  EXPECT_LT(0.0f, last_progress_);
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 790);
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, last_from_state_);
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_CENTERED, last_to_state_);
 | 
| -  EXPECT_LT(progress_800, last_progress_);
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 810);
 | 
| -  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_);
 | 
| -  EXPECT_FALSE(was_fling_);
 | 
| -}
 | 
| -
 | 
| -// 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, 700);
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 710);
 | 
| -  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_);
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 960);
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_END, 960));
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, final_state_);
 | 
| -}
 | 
| -
 | 
| -// Test gesture progress when the gesture is initiated when the home card is in
 | 
| -// the centered state.
 | 
| -TEST_F(HomeCardGestureManagerTest, StartBottom) {
 | 
| -  HomeCard::Get()->SetState(HomeCard::VISIBLE_BOTTOM);
 | 
| -
 | 
| -  // No changes for slight moves.
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 950));
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 960);
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_END, 960));
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, final_state_);
 | 
| -
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 950));
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_END, 800));
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, final_state_);
 | 
| -
 | 
| -  // State change for the bigger moves.
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 850));
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1000);
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_END, 1000));
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, final_state_);
 | 
| -
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 850));
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 300);
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_END, 300));
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_CENTERED, final_state_);
 | 
| -  EXPECT_FALSE(was_fling_);
 | 
| -}
 | 
| -
 | 
| -TEST_F(HomeCardGestureManagerTest, FlingUpAtEnd) {
 | 
| -  ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
 | 
| -
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
 | 
| -  EXPECT_EQ(0, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(0, GetProgressCountAndReset());
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1010);
 | 
| -  ProcessFlingGesture(-150.0f);
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, final_state_);
 | 
| -  EXPECT_TRUE(was_fling_);
 | 
| -}
 | 
| -
 | 
| -TEST_F(HomeCardGestureManagerTest, FlingDownAtEnd) {
 | 
| -  HomeCard::Get()->SetState(HomeCard::VISIBLE_CENTERED);
 | 
| -
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 20));
 | 
| -  EXPECT_EQ(0, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(0, GetProgressCountAndReset());
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 30);
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 100);
 | 
| -  ProcessFlingGesture(150.0f);
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, final_state_);
 | 
| -  EXPECT_TRUE(was_fling_);
 | 
| -}
 | 
| -
 | 
| -TEST_F(HomeCardGestureManagerTest, WeakFling) {
 | 
| -  ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
 | 
| -
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
 | 
| -  EXPECT_EQ(0, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(0, GetProgressCountAndReset());
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1010);
 | 
| -  ProcessFlingGesture(-30.0f);
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_MINIMIZED, final_state_);
 | 
| -  EXPECT_FALSE(was_fling_);
 | 
| -}
 | 
| -
 | 
| -// Test the situation where the user intends a single fling but the finger
 | 
| -// touches the screen long enough, so that the home card becomes bigger than the
 | 
| -// height of VISIBLE_BOTTOM state due to the scroll events.
 | 
| -// In this case the fling event should not change the final state from
 | 
| -// VISIBLE_BOTTOM to VISIBLE_CENTERED because the user's intention was a single
 | 
| -// fling. See http://crbug.com/415211
 | 
| -TEST_F(HomeCardGestureManagerTest, FastFling) {
 | 
| -  ASSERT_EQ(HomeCard::VISIBLE_MINIMIZED, HomeCard::Get()->GetState());
 | 
| -
 | 
| -  EXPECT_TRUE(ProcessGestureEvent(ui::ET_GESTURE_SCROLL_BEGIN, 1020));
 | 
| -  EXPECT_EQ(0, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(0, GetProgressCountAndReset());
 | 
| -
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE, 1010);
 | 
| -  ProcessGestureEvent(ui::ET_GESTURE_SCROLL_UPDATE,
 | 
| -                      screen_height() - kHomeCardHeight);
 | 
| -  ProcessFlingGesture(-150.0f);
 | 
| -  EXPECT_EQ(1, GetEndCountAndReset());
 | 
| -  EXPECT_EQ(HomeCard::VISIBLE_BOTTOM, final_state_);
 | 
| -  EXPECT_TRUE(was_fling_);
 | 
| -}
 | 
| -
 | 
| -}  // namespace athena
 | 
| 
 |