OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/page/scrolling/ScrollState.h" | 5 #include "core/page/scrolling/ScrollState.h" |
6 | 6 |
7 #include "core/dom/Document.h" | 7 #include "core/dom/Document.h" |
8 #include "core/dom/Element.h" | 8 #include "core/dom/Element.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
| 13 namespace { |
| 14 |
| 15 PassRefPtrWillBeRawPtr<ScrollState> CreateScrollState(double deltaX, double delt
aY, bool beginning, bool ending) |
| 16 { |
| 17 OwnPtr<ScrollStateData> scrollStateData = adoptPtr(new ScrollStateData()); |
| 18 scrollStateData->delta_x = deltaX; |
| 19 scrollStateData->delta_y = deltaY; |
| 20 scrollStateData->is_beginning = beginning; |
| 21 scrollStateData->is_ending = ending; |
| 22 return ScrollState::create(scrollStateData.release()); |
| 23 } |
| 24 |
13 class ScrollStateTest : public testing::Test { | 25 class ScrollStateTest : public testing::Test { |
14 }; | 26 }; |
15 | 27 |
16 TEST_F(ScrollStateTest, ConsumeDeltaNative) | 28 TEST_F(ScrollStateTest, ConsumeDeltaNative) |
17 { | 29 { |
18 const float deltaX = 12.3; | 30 const float deltaX = 12.3; |
19 const float deltaY = 3.9; | 31 const float deltaY = 3.9; |
20 | 32 |
21 const float deltaXToConsume = 1.2; | 33 const float deltaXToConsume = 1.2; |
22 const float deltaYToConsume = 2.3; | 34 const float deltaYToConsume = 2.3; |
23 | 35 |
24 RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(deltaX, de
ltaY, 0, 0, 0, false, false); | 36 RefPtrWillBeRawPtr<ScrollState> scrollState = CreateScrollState(deltaX, delt
aY, false, false); |
25 EXPECT_FLOAT_EQ(deltaX, scrollState->deltaX()); | 37 EXPECT_FLOAT_EQ(deltaX, scrollState->deltaX()); |
26 EXPECT_FLOAT_EQ(deltaY, scrollState->deltaY()); | 38 EXPECT_FLOAT_EQ(deltaY, scrollState->deltaY()); |
27 EXPECT_FALSE(scrollState->deltaConsumedForScrollSequence()); | 39 EXPECT_FALSE(scrollState->deltaConsumedForScrollSequence()); |
28 EXPECT_FALSE(scrollState->fullyConsumed()); | 40 EXPECT_FALSE(scrollState->fullyConsumed()); |
29 | 41 |
30 scrollState->consumeDeltaNative(0, 0); | 42 scrollState->consumeDeltaNative(0, 0); |
31 EXPECT_FLOAT_EQ(deltaX, scrollState->deltaX()); | 43 EXPECT_FLOAT_EQ(deltaX, scrollState->deltaX()); |
32 EXPECT_FLOAT_EQ(deltaY, scrollState->deltaY()); | 44 EXPECT_FLOAT_EQ(deltaY, scrollState->deltaY()); |
33 EXPECT_FALSE(scrollState->deltaConsumedForScrollSequence()); | 45 EXPECT_FALSE(scrollState->deltaConsumedForScrollSequence()); |
34 EXPECT_FALSE(scrollState->fullyConsumed()); | 46 EXPECT_FALSE(scrollState->fullyConsumed()); |
(...skipping 10 matching lines...) Expand all Loading... |
45 EXPECT_TRUE(scrollState->deltaConsumedForScrollSequence()); | 57 EXPECT_TRUE(scrollState->deltaConsumedForScrollSequence()); |
46 EXPECT_FALSE(scrollState->fullyConsumed()); | 58 EXPECT_FALSE(scrollState->fullyConsumed()); |
47 | 59 |
48 scrollState->consumeDeltaNative(scrollState->deltaX(), scrollState->deltaY()
); | 60 scrollState->consumeDeltaNative(scrollState->deltaX(), scrollState->deltaY()
); |
49 EXPECT_TRUE(scrollState->deltaConsumedForScrollSequence()); | 61 EXPECT_TRUE(scrollState->deltaConsumedForScrollSequence()); |
50 EXPECT_TRUE(scrollState->fullyConsumed()); | 62 EXPECT_TRUE(scrollState->fullyConsumed()); |
51 } | 63 } |
52 | 64 |
53 TEST_F(ScrollStateTest, CurrentNativeScrollingElement) | 65 TEST_F(ScrollStateTest, CurrentNativeScrollingElement) |
54 { | 66 { |
55 RefPtrWillBeRawPtr<ScrollState> scrollState = | 67 RefPtrWillBeRawPtr<ScrollState> scrollState = CreateScrollState(0, 0, false,
false); |
56 ScrollState::create(0, 0, 0, 0, 0, false, false); | |
57 RefPtrWillBeRawPtr<Element> element = Element::create( | 68 RefPtrWillBeRawPtr<Element> element = Element::create( |
58 QualifiedName::null(), Document::create().get()); | 69 QualifiedName::null(), Document::create().get()); |
59 scrollState->setCurrentNativeScrollingElement(element.get()); | 70 scrollState->setCurrentNativeScrollingElement(element.get()); |
60 | 71 |
61 EXPECT_EQ(element, scrollState->currentNativeScrollingElement()); | 72 EXPECT_EQ(element, scrollState->currentNativeScrollingElement()); |
62 } | 73 } |
63 | 74 |
64 TEST_F(ScrollStateTest, FullyConsumed) | 75 TEST_F(ScrollStateTest, FullyConsumed) |
65 { | 76 { |
66 RefPtrWillBeRawPtr<ScrollState> scrollStateBegin = | 77 RefPtrWillBeRawPtr<ScrollState> scrollStateBegin = CreateScrollState(0, 0, t
rue, false); |
67 ScrollState::create(0, 0, 0, 0, 0, false, true, false); | 78 RefPtrWillBeRawPtr<ScrollState> scrollState = CreateScrollState(0, 0, false,
false); |
68 RefPtrWillBeRawPtr<ScrollState> scrollState = | 79 RefPtrWillBeRawPtr<ScrollState> scrollStateEnd = CreateScrollState(0, 0, fal
se, true); |
69 ScrollState::create(0, 0, 0, 0, 0, false, false, false); | |
70 RefPtrWillBeRawPtr<ScrollState> scrollStateEnd = | |
71 ScrollState::create(0, 0, 0, 0, 0, false, false, true); | |
72 EXPECT_FALSE(scrollStateBegin->fullyConsumed()); | 80 EXPECT_FALSE(scrollStateBegin->fullyConsumed()); |
73 EXPECT_TRUE(scrollState->fullyConsumed()); | 81 EXPECT_TRUE(scrollState->fullyConsumed()); |
74 EXPECT_FALSE(scrollStateEnd->fullyConsumed()); | 82 EXPECT_FALSE(scrollStateEnd->fullyConsumed()); |
75 } | 83 } |
76 | 84 |
| 85 } // namespace |
| 86 |
77 } // namespace blink | 87 } // namespace blink |
OLD | NEW |