Index: Source/platform/mac/ScrollElasticityControllerTest.mm |
diff --git a/Source/platform/mac/ScrollElasticityControllerTest.mm b/Source/platform/mac/ScrollElasticityControllerTest.mm |
deleted file mode 100644 |
index 7a23fb32cc803639999b80667d685af2e483f991..0000000000000000000000000000000000000000 |
--- a/Source/platform/mac/ScrollElasticityControllerTest.mm |
+++ /dev/null |
@@ -1,173 +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 "config.h" |
-#include <gtest/gtest.h> |
- |
-#include "platform/geometry/IntPoint.h" |
-#include "platform/geometry/IntSize.h" |
-#include "platform/mac/ScrollElasticityController.h" |
-#include "platform/PlatformWheelEvent.h" |
- |
-namespace blink { |
- |
-class MockScrollElasticityControllerClient : public ScrollElasticityControllerClient { |
-public: |
- MockScrollElasticityControllerClient() : m_pinned(true), m_stretchX(0.0f) {} |
- |
- virtual bool allowsHorizontalStretching() override { return true; } |
- virtual bool allowsVerticalStretching() override { return true; } |
- // The amount that the view is stretched past the normal allowable bounds. |
- // The "overhang" amount. |
- virtual IntSize stretchAmount() override { return IntSize(m_stretchX, 0); } |
- virtual bool pinnedInDirection(const FloatSize&) override { return m_pinned; } |
- virtual bool canScrollHorizontally() override { return true; } |
- virtual bool canScrollVertically() override { return true; } |
- |
- // Return the absolute scroll position, not relative to the scroll origin. |
- virtual IntPoint absoluteScrollPosition() override { return IntPoint(m_stretchX, 0); } |
- |
- virtual void immediateScrollBy(const FloatSize& size) override { m_stretchX += size.width(); } |
- virtual void immediateScrollByWithoutContentEdgeConstraints(const FloatSize& size) override { m_stretchX += size.width(); } |
- virtual void startSnapRubberbandTimer() override {} |
- virtual void stopSnapRubberbandTimer() override {} |
- virtual void adjustScrollPositionToBoundsIfNecessary() override {} |
- |
- void reset() { m_stretchX = 0; } |
- |
- bool m_pinned; |
- |
-private: |
- float m_stretchX; |
-}; |
- |
-class MockPlatformWheelEvent : public PlatformWheelEvent { |
-public: |
- MockPlatformWheelEvent(PlatformWheelEventPhase phase, float deltaX, bool canRubberbandLeft) |
- { |
- m_phase = phase; |
- m_deltaX = deltaX; |
- m_canRubberbandLeft = canRubberbandLeft; |
- } |
-}; |
- |
-enum RubberbandPermission { |
- DisallowRubberband, |
- AllowRubberband |
-}; |
- |
-enum ScrollPermission { |
- DisallowScroll, |
- AllowScroll |
-}; |
- |
-const float deltaLeft = 1.0f; |
-const float deltaNone = 0.0f; |
- |
-class ScrollElasticityControllerTest : public testing::Test { |
-public: |
- ScrollElasticityControllerTest() : m_controller(&m_client) {} |
- |
- // Makes a wheel event with the given parameters, and forwards the event to the |
- // controller. |
- bool handleWheelEvent(RubberbandPermission canRubberband, ScrollPermission canScroll, PlatformWheelEventPhase phase, float delta) |
- { |
- m_client.m_pinned = !canScroll; |
- MockPlatformWheelEvent event(phase, delta, canRubberband); |
- return m_controller.handleWheelEvent(event); |
- } |
- |
- void SetUp() |
- { |
- m_client.reset(); |
- } |
- |
-private: |
- MockScrollElasticityControllerClient m_client; |
- ScrollElasticityController m_controller; |
-}; |
- |
-// The client cannot scroll, but the event allows rubber banding. |
-TEST_F(ScrollElasticityControllerTest, canRubberband) |
-{ |
- // The PlatformWheelEventPhaseMayBegin event should never be handled. |
- EXPECT_FALSE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseMayBegin, deltaNone)); |
- |
- // All other events should be handled. |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseBegan, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseEnded, deltaNone)); |
-} |
- |
-// The client cannot scroll, and the event disallows rubber banding. |
-TEST_F(ScrollElasticityControllerTest, cannotRubberband) |
-{ |
- // The PlatformWheelEventPhaseMayBegin event should never be handled. |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseMayBegin, deltaNone)); |
- |
- // Rubber-banding is disabled, and the client is pinned. |
- // Ignore all events. |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseBegan, deltaLeft)); |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseEnded, deltaNone)); |
-} |
- |
-// The client can scroll, and the event disallows rubber banding. |
-TEST_F(ScrollElasticityControllerTest, cannotRubberbandCanScroll) |
-{ |
- // The PlatformWheelEventPhaseMayBegin event should never be handled. |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, AllowScroll, PlatformWheelEventPhaseMayBegin, deltaNone)); |
- |
- // Rubber-banding is disabled, but the client is not pinned. |
- // Handle all events. |
- EXPECT_TRUE(handleWheelEvent(DisallowRubberband, AllowScroll, PlatformWheelEventPhaseBegan, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(DisallowRubberband, AllowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(DisallowRubberband, AllowScroll, PlatformWheelEventPhaseEnded, deltaNone)); |
-} |
- |
-// The client cannot scroll. The initial events allow rubber banding, but the |
-// later events disallow it. |
-TEST_F(ScrollElasticityControllerTest, canRubberbandBecomesFalse) |
-{ |
- // The PlatformWheelEventPhaseMayBegin event should never be handled. |
- EXPECT_FALSE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseMayBegin, deltaNone)); |
- |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseBegan, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- |
- // Rubber-banding is no longer allowed, but its already started. |
- // Events should still be handled. |
- EXPECT_TRUE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseEnded, deltaNone)); |
-} |
- |
-// The client cannot scroll. The initial events disallow rubber banding, but the |
-// later events allow it. |
-TEST_F(ScrollElasticityControllerTest, canRubberbandBecomesTrue) |
-{ |
- // The PlatformWheelEventPhaseMayBegin event should never be handled. |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseMayBegin, deltaNone)); |
- |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseBegan, deltaLeft)); |
- EXPECT_FALSE(handleWheelEvent(DisallowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- |
- // Rubber-banding is now allowed |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseEnded, deltaNone)); |
-} |
- |
-// Events with no delta should not cause scrolling. |
-TEST_F(ScrollElasticityControllerTest, zeroDeltaEventsIgnored) |
-{ |
- // The PlatformWheelEventPhaseMayBegin event should never be handled. |
- EXPECT_FALSE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseMayBegin, deltaNone)); |
- |
- // TODO(erikchen): This logic is incorrect. The zero delta event should not have been handled. crbug.com/375512 |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseBegan, deltaNone)); |
- EXPECT_FALSE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaNone)); |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseChanged, deltaLeft)); |
- EXPECT_TRUE(handleWheelEvent(AllowRubberband, DisallowScroll, PlatformWheelEventPhaseEnded, deltaNone)); |
-} |
- |
-} // namespace blink |