#include "chrome/browser/ui/views/tabs/tab_strip_scroll_session.h"
#include <memory>
#include "base/test/scoped_feature_list.h"
#include "base/timer/mock_timer.h"
#include "chrome/browser/ui/tabs/features.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/views/tabs/tab_drag_controller.h"
#include "chrome/test/views/chrome_views_test_base.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/geometry/point_f.h"
#include "ui/views/controls/scroll_view.h"
#include "ui/views/view.h"
_;
AtLeast;
DoAll;
Return;
SaveArg;
class MockTabDragWithScrollManager : public TabDragWithScrollManager { … };
class TabStripScrollSessionWithTimerTestBase : public ChromeViewsTestBase { … };
class TabStripScrollSessionTestWithConstantSpeed
: public TabStripScrollSessionWithTimerTestBase { … };
TEST_F(TabStripScrollSessionTestWithConstantSpeed,
GivenNoScrollWhenScrollSessionMaybeStartThenTimerDoesNotRun) { … }
TEST_F(TabStripScrollSessionTestWithConstantSpeed,
GivenNoAttachedContextWhenScrollSessionMaybeStartThenTimerDoesNotRun) { … }
TEST_F(TabStripScrollSessionTestWithConstantSpeed,
GivenScrollSessionWhenMaybeStartThenTimerCallback) { … }
TEST_F(TabStripScrollSessionTestWithConstantSpeed,
GivenScrollingTowardsRightWhenShouldScrollToLeftThenStopTimer) { … }
class TabStripScrollSessionTestWithVariableSpeed
: public TabStripScrollSessionWithTimerTestBase { … };
TEST_F(TabStripScrollSessionTestWithVariableSpeed,
GivenScrollSessionWhenMaybeStartThenTimerCallback) { … }