Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(341)

Side by Side Diff: cc/animation/scroll_offset_animation_curve_unittest.cc

Issue 1866203004: Convert //cc from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrcc: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/animation/scroll_offset_animation_curve.cc ('k') | cc/animation/timing_function.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "cc/animation/scroll_offset_animation_curve.h" 5 #include "cc/animation/scroll_offset_animation_curve.h"
6 6
7 #include "cc/animation/timing_function.h" 7 #include "cc/animation/timing_function.h"
8 #include "cc/base/time_util.h" 8 #include "cc/base/time_util.h"
9 #include "cc/test/geometry_test_utils.h" 9 #include "cc/test/geometry_test_utils.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 const double kConstantDuration = 9.0; 12 const double kConstantDuration = 9.0;
13 const double kDurationDivisor = 60.0; 13 const double kDurationDivisor = 60.0;
14 14
15 namespace cc { 15 namespace cc {
16 namespace { 16 namespace {
17 17
18 TEST(ScrollOffsetAnimationCurveTest, DeltaBasedDuration) { 18 TEST(ScrollOffsetAnimationCurveTest, DeltaBasedDuration) {
19 gfx::ScrollOffset target_value(100.f, 200.f); 19 gfx::ScrollOffset target_value(100.f, 200.f);
20 scoped_ptr<ScrollOffsetAnimationCurve> curve( 20 std::unique_ptr<ScrollOffsetAnimationCurve> curve(
21 ScrollOffsetAnimationCurve::Create(target_value, 21 ScrollOffsetAnimationCurve::Create(target_value,
22 EaseInOutTimingFunction::Create())); 22 EaseInOutTimingFunction::Create()));
23 23
24 curve->SetInitialValue(target_value); 24 curve->SetInitialValue(target_value);
25 EXPECT_DOUBLE_EQ(0.0, curve->Duration().InSecondsF()); 25 EXPECT_DOUBLE_EQ(0.0, curve->Duration().InSecondsF());
26 26
27 // x decreases, y stays the same. 27 // x decreases, y stays the same.
28 curve->SetInitialValue(gfx::ScrollOffset(136.f, 200.f)); 28 curve->SetInitialValue(gfx::ScrollOffset(136.f, 200.f));
29 EXPECT_DOUBLE_EQ(0.1, curve->Duration().InSecondsF()); 29 EXPECT_DOUBLE_EQ(0.1, curve->Duration().InSecondsF());
30 30
(...skipping 22 matching lines...) Expand all
53 EXPECT_DOUBLE_EQ(2.0, curve->Duration().InSecondsF()); 53 EXPECT_DOUBLE_EQ(2.0, curve->Duration().InSecondsF());
54 54
55 // x increases, y increases. 55 // x increases, y increases.
56 curve->SetInitialValue(gfx::ScrollOffset(95.f, 191.f)); 56 curve->SetInitialValue(gfx::ScrollOffset(95.f, 191.f));
57 EXPECT_DOUBLE_EQ(0.05, curve->Duration().InSecondsF()); 57 EXPECT_DOUBLE_EQ(0.05, curve->Duration().InSecondsF());
58 } 58 }
59 59
60 TEST(ScrollOffsetAnimationCurveTest, GetValue) { 60 TEST(ScrollOffsetAnimationCurveTest, GetValue) {
61 gfx::ScrollOffset initial_value(2.f, 40.f); 61 gfx::ScrollOffset initial_value(2.f, 40.f);
62 gfx::ScrollOffset target_value(10.f, 20.f); 62 gfx::ScrollOffset target_value(10.f, 20.f);
63 scoped_ptr<ScrollOffsetAnimationCurve> curve( 63 std::unique_ptr<ScrollOffsetAnimationCurve> curve(
64 ScrollOffsetAnimationCurve::Create(target_value, 64 ScrollOffsetAnimationCurve::Create(target_value,
65 EaseInOutTimingFunction::Create())); 65 EaseInOutTimingFunction::Create()));
66 curve->SetInitialValue(initial_value); 66 curve->SetInitialValue(initial_value);
67 67
68 base::TimeDelta duration = curve->Duration(); 68 base::TimeDelta duration = curve->Duration();
69 EXPECT_GT(curve->Duration().InSecondsF(), 0); 69 EXPECT_GT(curve->Duration().InSecondsF(), 0);
70 EXPECT_LT(curve->Duration().InSecondsF(), 0.1); 70 EXPECT_LT(curve->Duration().InSecondsF(), 0.1);
71 71
72 EXPECT_EQ(AnimationCurve::SCROLL_OFFSET, curve->Type()); 72 EXPECT_EQ(AnimationCurve::SCROLL_OFFSET, curve->Type());
73 EXPECT_EQ(duration, curve->Duration()); 73 EXPECT_EQ(duration, curve->Duration());
(...skipping 12 matching lines...) Expand all
86 // Verify that GetValue takes the timing function into account. 86 // Verify that GetValue takes the timing function into account.
87 gfx::ScrollOffset value = curve->GetValue(TimeUtil::Scale(duration, 0.25f)); 87 gfx::ScrollOffset value = curve->GetValue(TimeUtil::Scale(duration, 0.25f));
88 EXPECT_NEAR(3.0333f, value.x(), 0.0002f); 88 EXPECT_NEAR(3.0333f, value.x(), 0.0002f);
89 EXPECT_NEAR(37.4168f, value.y(), 0.0002f); 89 EXPECT_NEAR(37.4168f, value.y(), 0.0002f);
90 } 90 }
91 91
92 // Verify that a clone behaves exactly like the original. 92 // Verify that a clone behaves exactly like the original.
93 TEST(ScrollOffsetAnimationCurveTest, Clone) { 93 TEST(ScrollOffsetAnimationCurveTest, Clone) {
94 gfx::ScrollOffset initial_value(2.f, 40.f); 94 gfx::ScrollOffset initial_value(2.f, 40.f);
95 gfx::ScrollOffset target_value(10.f, 20.f); 95 gfx::ScrollOffset target_value(10.f, 20.f);
96 scoped_ptr<ScrollOffsetAnimationCurve> curve( 96 std::unique_ptr<ScrollOffsetAnimationCurve> curve(
97 ScrollOffsetAnimationCurve::Create(target_value, 97 ScrollOffsetAnimationCurve::Create(target_value,
98 EaseInOutTimingFunction::Create())); 98 EaseInOutTimingFunction::Create()));
99 curve->SetInitialValue(initial_value); 99 curve->SetInitialValue(initial_value);
100 base::TimeDelta duration = curve->Duration(); 100 base::TimeDelta duration = curve->Duration();
101 101
102 scoped_ptr<AnimationCurve> clone(curve->Clone()); 102 std::unique_ptr<AnimationCurve> clone(curve->Clone());
103 103
104 EXPECT_EQ(AnimationCurve::SCROLL_OFFSET, clone->Type()); 104 EXPECT_EQ(AnimationCurve::SCROLL_OFFSET, clone->Type());
105 EXPECT_EQ(duration, clone->Duration()); 105 EXPECT_EQ(duration, clone->Duration());
106 106
107 EXPECT_VECTOR2DF_EQ(initial_value, 107 EXPECT_VECTOR2DF_EQ(initial_value,
108 clone->ToScrollOffsetAnimationCurve()->GetValue( 108 clone->ToScrollOffsetAnimationCurve()->GetValue(
109 base::TimeDelta::FromSecondsD(-1.0))); 109 base::TimeDelta::FromSecondsD(-1.0)));
110 EXPECT_VECTOR2DF_EQ( 110 EXPECT_VECTOR2DF_EQ(
111 initial_value, 111 initial_value,
112 clone->ToScrollOffsetAnimationCurve()->GetValue(base::TimeDelta())); 112 clone->ToScrollOffsetAnimationCurve()->GetValue(base::TimeDelta()));
(...skipping 11 matching lines...) Expand all
124 gfx::ScrollOffset value = clone->ToScrollOffsetAnimationCurve()->GetValue( 124 gfx::ScrollOffset value = clone->ToScrollOffsetAnimationCurve()->GetValue(
125 TimeUtil::Scale(duration, 0.25f)); 125 TimeUtil::Scale(duration, 0.25f));
126 EXPECT_NEAR(3.0333f, value.x(), 0.0002f); 126 EXPECT_NEAR(3.0333f, value.x(), 0.0002f);
127 EXPECT_NEAR(37.4168f, value.y(), 0.0002f); 127 EXPECT_NEAR(37.4168f, value.y(), 0.0002f);
128 } 128 }
129 129
130 TEST(ScrollOffsetAnimationCurveTest, UpdateTarget) { 130 TEST(ScrollOffsetAnimationCurveTest, UpdateTarget) {
131 gfx::ScrollOffset initial_value(0.f, 0.f); 131 gfx::ScrollOffset initial_value(0.f, 0.f);
132 gfx::ScrollOffset target_value(0.f, 3600.f); 132 gfx::ScrollOffset target_value(0.f, 3600.f);
133 double duration = kConstantDuration / kDurationDivisor; 133 double duration = kConstantDuration / kDurationDivisor;
134 scoped_ptr<ScrollOffsetAnimationCurve> curve( 134 std::unique_ptr<ScrollOffsetAnimationCurve> curve(
135 ScrollOffsetAnimationCurve::Create( 135 ScrollOffsetAnimationCurve::Create(
136 target_value, EaseInOutTimingFunction::Create(), 136 target_value, EaseInOutTimingFunction::Create(),
137 ScrollOffsetAnimationCurve::DurationBehavior::CONSTANT)); 137 ScrollOffsetAnimationCurve::DurationBehavior::CONSTANT));
138 curve->SetInitialValue(initial_value); 138 curve->SetInitialValue(initial_value);
139 EXPECT_NEAR(duration, curve->Duration().InSecondsF(), 0.0002f); 139 EXPECT_NEAR(duration, curve->Duration().InSecondsF(), 0.0002f);
140 EXPECT_NEAR( 140 EXPECT_NEAR(
141 1800.0, 141 1800.0,
142 curve->GetValue(base::TimeDelta::FromSecondsD(duration / 2.0)).y(), 142 curve->GetValue(base::TimeDelta::FromSecondsD(duration / 2.0)).y(),
143 0.0002f); 143 0.0002f);
144 EXPECT_NEAR(3600.0, 144 EXPECT_NEAR(3600.0,
(...skipping 22 matching lines...) Expand all
167 EXPECT_NEAR(6827.6, 167 EXPECT_NEAR(6827.6,
168 curve->GetValue(base::TimeDelta::FromSecondsD(duration)).y(), 168 curve->GetValue(base::TimeDelta::FromSecondsD(duration)).y(),
169 0.1f); 169 0.1f);
170 EXPECT_NEAR( 170 EXPECT_NEAR(
171 7200.0, 171 7200.0,
172 curve->GetValue(base::TimeDelta::FromSecondsD(duration * 1.08)).y(), 172 curve->GetValue(base::TimeDelta::FromSecondsD(duration * 1.08)).y(),
173 0.0002f); 173 0.0002f);
174 } 174 }
175 175
176 TEST(ScrollOffsetAnimationCurveTest, InverseDeltaDuration) { 176 TEST(ScrollOffsetAnimationCurveTest, InverseDeltaDuration) {
177 scoped_ptr<ScrollOffsetAnimationCurve> curve( 177 std::unique_ptr<ScrollOffsetAnimationCurve> curve(
178 ScrollOffsetAnimationCurve::Create( 178 ScrollOffsetAnimationCurve::Create(
179 gfx::ScrollOffset(0.f, 100.f), EaseInOutTimingFunction::Create(), 179 gfx::ScrollOffset(0.f, 100.f), EaseInOutTimingFunction::Create(),
180 ScrollOffsetAnimationCurve::DurationBehavior::INVERSE_DELTA)); 180 ScrollOffsetAnimationCurve::DurationBehavior::INVERSE_DELTA));
181 181
182 curve->SetInitialValue(gfx::ScrollOffset()); 182 curve->SetInitialValue(gfx::ScrollOffset());
183 double smallDeltaDuration = curve->Duration().InSecondsF(); 183 double smallDeltaDuration = curve->Duration().InSecondsF();
184 184
185 curve->UpdateTarget(0.f, gfx::ScrollOffset(0.f, 300.f)); 185 curve->UpdateTarget(0.f, gfx::ScrollOffset(0.f, 300.f));
186 double mediumDeltaDuration = curve->Duration().InSecondsF(); 186 double mediumDeltaDuration = curve->Duration().InSecondsF();
187 187
188 curve->UpdateTarget(0.f, gfx::ScrollOffset(0.f, 500.f)); 188 curve->UpdateTarget(0.f, gfx::ScrollOffset(0.f, 500.f));
189 double largeDeltaDuration = curve->Duration().InSecondsF(); 189 double largeDeltaDuration = curve->Duration().InSecondsF();
190 190
191 EXPECT_GT(smallDeltaDuration, mediumDeltaDuration); 191 EXPECT_GT(smallDeltaDuration, mediumDeltaDuration);
192 EXPECT_GT(mediumDeltaDuration, largeDeltaDuration); 192 EXPECT_GT(mediumDeltaDuration, largeDeltaDuration);
193 193
194 curve->UpdateTarget(0.f, gfx::ScrollOffset(0.f, 5000.f)); 194 curve->UpdateTarget(0.f, gfx::ScrollOffset(0.f, 5000.f));
195 EXPECT_EQ(largeDeltaDuration, curve->Duration().InSecondsF()); 195 EXPECT_EQ(largeDeltaDuration, curve->Duration().InSecondsF());
196 } 196 }
197 197
198 } // namespace 198 } // namespace
199 } // namespace cc 199 } // namespace cc
OLDNEW
« no previous file with comments | « cc/animation/scroll_offset_animation_curve.cc ('k') | cc/animation/timing_function.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698