| Index: cc/animation/scroll_offset_animation_curve_unittest.cc
|
| diff --git a/cc/animation/scroll_offset_animation_curve_unittest.cc b/cc/animation/scroll_offset_animation_curve_unittest.cc
|
| index 4638ecfbfb0ea2f9066c29ab9eb0af8b33601f26..7044b03addae2ce538a69a0ab4986bc399fbf22c 100644
|
| --- a/cc/animation/scroll_offset_animation_curve_unittest.cc
|
| +++ b/cc/animation/scroll_offset_animation_curve_unittest.cc
|
| @@ -128,64 +128,29 @@ TEST(ScrollOffsetAnimationCurveTest, UpdateTarget) {
|
| gfx::ScrollOffset initial_value(0.f, 0.f);
|
| gfx::ScrollOffset target_value(0.f, 3600.f);
|
| scoped_ptr<ScrollOffsetAnimationCurve> curve(
|
| - ScrollOffsetAnimationCurve::Create(target_value,
|
| - EaseInOutTimingFunction::Create()));
|
| - curve->SetInitialValue(initial_value);
|
| - EXPECT_EQ(1.0, curve->Duration().InSecondsF());
|
| - EXPECT_EQ(1800.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.5)).y());
|
| - EXPECT_EQ(3600.0, curve->GetValue(base::TimeDelta::FromSecondsD(1.0)).y());
|
| -
|
| - curve->UpdateTarget(0.5, gfx::ScrollOffset(0.0, 9900.0));
|
| -
|
| - EXPECT_EQ(2.0, curve->Duration().InSecondsF());
|
| - EXPECT_EQ(1800.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.5)).y());
|
| - EXPECT_NEAR(5410.05, curve->GetValue(base::TimeDelta::FromSecondsD(1.0)).y(),
|
| - 0.01);
|
| - EXPECT_EQ(9900.0, curve->GetValue(base::TimeDelta::FromSecondsD(2.0)).y());
|
| -
|
| - curve->UpdateTarget(1.0, gfx::ScrollOffset(0.0, 7200.0));
|
| -
|
| - EXPECT_NEAR(1.705, curve->Duration().InSecondsF(), 0.01);
|
| - EXPECT_NEAR(5410.05, curve->GetValue(base::TimeDelta::FromSecondsD(1.0)).y(),
|
| - 0.01);
|
| - EXPECT_EQ(7200.0, curve->GetValue(base::TimeDelta::FromSecondsD(1.705)).y());
|
| -}
|
| -
|
| -TEST(ScrollOffsetAnimationCurveTest, UpdateTargetWithLargeVelocity) {
|
| - gfx::ScrollOffset initial_value(0.f, 0.f);
|
| - gfx::ScrollOffset target_value(0.f, 900.f);
|
| - scoped_ptr<ScrollOffsetAnimationCurve> curve(
|
| - ScrollOffsetAnimationCurve::Create(target_value,
|
| - EaseInOutTimingFunction::Create()));
|
| - curve->SetInitialValue(initial_value);
|
| - EXPECT_EQ(0.5, curve->Duration().InSecondsF());
|
| -
|
| - EXPECT_EQ(450.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.25)).y());
|
| -
|
| - // This leads to a new computed velocity larger than 5000.
|
| - curve->UpdateTarget(0.25, gfx::ScrollOffset(0.0, 450.0001));
|
| -
|
| - EXPECT_NEAR(0.25015, curve->Duration().InSecondsF(), 0.0001);
|
| - EXPECT_NEAR(450.0,
|
| - curve->GetValue(base::TimeDelta::FromSecondsD(0.22501)).y(),
|
| - 0.001);
|
| - EXPECT_NEAR(450.0,
|
| - curve->GetValue(base::TimeDelta::FromSecondsD(0.225015)).y(),
|
| - 0.001);
|
| -}
|
| -
|
| -TEST(ScrollOffsetAnimationCurveTest, UpdateTargetConstantDuration) {
|
| - gfx::ScrollOffset initial_value(0.f, 0.f);
|
| - gfx::ScrollOffset target_value(0.f, 3600.f);
|
| - scoped_ptr<ScrollOffsetAnimationCurve> curve(
|
| ScrollOffsetAnimationCurve::Create(
|
| target_value, EaseInOutTimingFunction::Create(),
|
| ScrollOffsetAnimationCurve::DurationBehavior::CONSTANT));
|
| curve->SetInitialValue(initial_value);
|
| EXPECT_EQ(0.2, curve->Duration().InSecondsF());
|
| + EXPECT_EQ(1800.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.1)).y());
|
| + EXPECT_EQ(3600.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.2)).y());
|
|
|
| curve->UpdateTarget(0.1, gfx::ScrollOffset(0.0, 9900.0));
|
| +
|
| EXPECT_EQ(0.3, curve->Duration().InSecondsF());
|
| + EXPECT_EQ(1800.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.1)).y());
|
| + EXPECT_NEAR(6827.59, curve->GetValue(base::TimeDelta::FromSecondsD(0.2)).y(),
|
| + 0.01);
|
| + EXPECT_EQ(9900.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.3)).y());
|
| +
|
| + curve->UpdateTarget(0.2, gfx::ScrollOffset(0.0, 7200.0));
|
| +
|
| + // A closer target at high velocity reduces the duration.
|
| + EXPECT_NEAR(0.22, curve->Duration().InSecondsF(), 0.01);
|
| + EXPECT_NEAR(6827.59, curve->GetValue(base::TimeDelta::FromSecondsD(0.2)).y(),
|
| + 0.01);
|
| + EXPECT_EQ(7200.0, curve->GetValue(base::TimeDelta::FromSecondsD(0.22)).y());
|
| }
|
|
|
| } // namespace
|
|
|