OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 MockScrollAnimatorNone() | 72 MockScrollAnimatorNone() |
73 : ScrollAnimatorNone(new MockScrollableArea(true)) { } | 73 : ScrollAnimatorNone(new MockScrollableArea(true)) { } |
74 MockScrollAnimatorNone(ScrollableArea* scrollableArea) | 74 MockScrollAnimatorNone(ScrollableArea* scrollableArea) |
75 : ScrollAnimatorNone(scrollableArea) { } | 75 : ScrollAnimatorNone(scrollableArea) { } |
76 | 76 |
77 float currentX() { return m_currentPosX; } | 77 float currentX() { return m_currentPosX; } |
78 float currentY() { return m_currentPosY; } | 78 float currentY() { return m_currentPosY; } |
79 | 79 |
80 void reset() | 80 void reset() |
81 { | 81 { |
82 stopAnimationTimerIfNeeded(&m_horizontalData); | 82 stopAnimationTimerIfNeeded(); |
83 stopAnimationTimerIfNeeded(&m_verticalData); | |
84 m_currentPosX = 0; | 83 m_currentPosX = 0; |
85 m_currentPosY = 0; | 84 m_currentPosY = 0; |
86 m_horizontalData.reset(); | 85 m_horizontalData.reset(); |
87 m_verticalData.reset(); | 86 m_verticalData.reset(); |
88 } | 87 } |
89 | 88 |
90 MOCK_METHOD1(scrollToOffsetWithoutAnimation, void(const FloatPoint&)); | 89 MOCK_METHOD1(scrollToOffsetWithoutAnimation, void(const FloatPoint&)); |
91 }; | 90 }; |
92 | 91 |
93 TEST(ScrollAnimatorEnabled, Enabled) | 92 TEST(ScrollAnimatorEnabled, Enabled) |
94 { | 93 { |
95 MockScrollableArea scrollableArea(true); | 94 MockScrollableArea scrollableArea(true); |
96 MockScrollAnimatorNone scrollAnimatorChromium(&scrollableArea); | 95 MockScrollAnimatorNone scrollAnimatorNone(&scrollableArea); |
97 | 96 |
98 EXPECT_CALL(scrollableArea, scrollSize(_)).Times(AtLeast(1)).WillRepeatedly(
Return(1000)); | 97 EXPECT_CALL(scrollableArea, scrollSize(_)).Times(AtLeast(1)).WillRepeatedly(
Return(1000)); |
99 EXPECT_CALL(scrollableArea, setScrollOffset(_)).Times(AtLeast(1)); | 98 EXPECT_CALL(scrollableArea, setScrollOffset(_)).Times(3); |
100 | 99 |
101 scrollAnimatorChromium.scroll(HorizontalScrollbar, ScrollByLine, 100, 1); | 100 scrollAnimatorNone.scroll(HorizontalScrollbar, ScrollByLine, 100, 1); |
102 EXPECT_NE(100, scrollAnimatorChromium.currentX()); | 101 EXPECT_NE(100, scrollAnimatorNone.currentX()); |
103 EXPECT_NE(0, scrollAnimatorChromium.currentX()); | 102 EXPECT_NE(0, scrollAnimatorNone.currentX()); |
104 EXPECT_EQ(0, scrollAnimatorChromium.currentY()); | 103 EXPECT_EQ(0, scrollAnimatorNone.currentY()); |
105 scrollAnimatorChromium.reset(); | 104 scrollAnimatorNone.reset(); |
106 | 105 |
107 scrollAnimatorChromium.scroll(HorizontalScrollbar, ScrollByPage, 100, 1); | 106 scrollAnimatorNone.scroll(HorizontalScrollbar, ScrollByPage, 100, 1); |
108 EXPECT_NE(100, scrollAnimatorChromium.currentX()); | 107 EXPECT_NE(100, scrollAnimatorNone.currentX()); |
109 EXPECT_NE(0, scrollAnimatorChromium.currentX()); | 108 EXPECT_NE(0, scrollAnimatorNone.currentX()); |
110 EXPECT_EQ(0, scrollAnimatorChromium.currentY()); | 109 EXPECT_EQ(0, scrollAnimatorNone.currentY()); |
111 scrollAnimatorChromium.reset(); | 110 scrollAnimatorNone.reset(); |
112 | 111 |
113 scrollAnimatorChromium.scroll(HorizontalScrollbar, ScrollByPixel, 4, 25); | 112 scrollAnimatorNone.scroll(HorizontalScrollbar, ScrollByPixel, 4, 25); |
114 EXPECT_NE(100, scrollAnimatorChromium.currentX()); | 113 EXPECT_NE(100, scrollAnimatorNone.currentX()); |
115 EXPECT_NE(0, scrollAnimatorChromium.currentX()); | 114 EXPECT_NE(0, scrollAnimatorNone.currentX()); |
116 EXPECT_EQ(0, scrollAnimatorChromium.currentY()); | 115 EXPECT_EQ(0, scrollAnimatorNone.currentY()); |
117 scrollAnimatorChromium.reset(); | 116 scrollAnimatorNone.reset(); |
118 } | 117 } |
119 | 118 |
120 TEST(ScrollAnimatorEnabled, Disabled) | 119 TEST(ScrollAnimatorEnabled, Disabled) |
121 { | 120 { |
122 MockScrollableArea scrollableArea(false); | 121 MockScrollableArea scrollableArea(false); |
123 MockScrollAnimatorNone scrollAnimatorChromium(&scrollableArea); | 122 MockScrollAnimatorNone scrollAnimatorNone(&scrollableArea); |
124 | 123 |
125 EXPECT_CALL(scrollableArea, scrollSize(_)).Times(AtLeast(1)).WillRepeatedly(
Return(1000)); | 124 EXPECT_CALL(scrollableArea, scrollSize(_)).Times(AtLeast(1)).WillRepeatedly(
Return(1000)); |
126 EXPECT_CALL(scrollableArea, setScrollOffset(_)).Times(AtLeast(1)); | 125 EXPECT_CALL(scrollableArea, setScrollOffset(_)).Times(4); |
127 | 126 |
128 scrollAnimatorChromium.scroll(HorizontalScrollbar, ScrollByLine, 100, 1); | 127 scrollAnimatorNone.scroll(HorizontalScrollbar, ScrollByLine, 100, 1); |
129 EXPECT_EQ(100, scrollAnimatorChromium.currentX()); | 128 EXPECT_EQ(100, scrollAnimatorNone.currentX()); |
130 EXPECT_EQ(0, scrollAnimatorChromium.currentY()); | 129 EXPECT_EQ(0, scrollAnimatorNone.currentY()); |
131 scrollAnimatorChromium.reset(); | 130 scrollAnimatorNone.reset(); |
132 | 131 |
133 scrollAnimatorChromium.scroll(HorizontalScrollbar, ScrollByPage, 100, 1); | 132 scrollAnimatorNone.scroll(HorizontalScrollbar, ScrollByPage, 100, 1); |
134 EXPECT_EQ(100, scrollAnimatorChromium.currentX()); | 133 EXPECT_EQ(100, scrollAnimatorNone.currentX()); |
135 EXPECT_EQ(0, scrollAnimatorChromium.currentY()); | 134 EXPECT_EQ(0, scrollAnimatorNone.currentY()); |
136 scrollAnimatorChromium.reset(); | 135 scrollAnimatorNone.reset(); |
137 | 136 |
138 scrollAnimatorChromium.scroll(HorizontalScrollbar, ScrollByDocument, 100, 1)
; | 137 scrollAnimatorNone.scroll(HorizontalScrollbar, ScrollByDocument, 100, 1); |
139 EXPECT_EQ(100, scrollAnimatorChromium.currentX()); | 138 EXPECT_EQ(100, scrollAnimatorNone.currentX()); |
140 EXPECT_EQ(0, scrollAnimatorChromium.currentY()); | 139 EXPECT_EQ(0, scrollAnimatorNone.currentY()); |
141 scrollAnimatorChromium.reset(); | 140 scrollAnimatorNone.reset(); |
142 | 141 |
143 scrollAnimatorChromium.scroll(HorizontalScrollbar, ScrollByPixel, 100, 1); | 142 scrollAnimatorNone.scroll(HorizontalScrollbar, ScrollByPixel, 100, 1); |
144 EXPECT_EQ(100, scrollAnimatorChromium.currentX()); | 143 EXPECT_EQ(100, scrollAnimatorNone.currentX()); |
145 EXPECT_EQ(0, scrollAnimatorChromium.currentY()); | 144 EXPECT_EQ(0, scrollAnimatorNone.currentY()); |
146 scrollAnimatorChromium.reset(); | 145 scrollAnimatorNone.reset(); |
147 } | 146 } |
148 | 147 |
149 class ScrollAnimatorNoneTest : public testing::Test { | 148 class ScrollAnimatorNoneTest : public testing::Test { |
150 public: | 149 public: |
151 ScrollAnimatorNoneTest() | 150 ScrollAnimatorNoneTest() |
152 { | 151 { |
153 } | 152 } |
154 | 153 |
155 virtual void SetUp() | 154 virtual void SetUp() |
156 { | 155 { |
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 } | 701 } |
703 checkDesiredPosition(0); | 702 checkDesiredPosition(0); |
704 | 703 |
705 t += kAnimationTime; | 704 t += kAnimationTime; |
706 for (; result && t < kEndTime; t += kAnimationTime) | 705 for (; result && t < kEndTime; t += kAnimationTime) |
707 result = result && animateScroll(t); | 706 result = result && animateScroll(t); |
708 checkSoftLanding(0); | 707 checkSoftLanding(0); |
709 } | 708 } |
710 | 709 |
711 #endif // ENABLE(SMOOTH_SCROLLING) | 710 #endif // ENABLE(SMOOTH_SCROLLING) |
OLD | NEW |