Chromium Code Reviews| Index: Source/core/animation/KeyframeEffectModelTest.cpp |
| diff --git a/Source/core/animation/KeyframeEffectModelTest.cpp b/Source/core/animation/KeyframeEffectModelTest.cpp |
| index 4d438eb09bbf42c58b67223703d02fc0a7d54195..8ef64b7fbb557160239a1dd948f22a36c9b335ab 100644 |
| --- a/Source/core/animation/KeyframeEffectModelTest.cpp |
| +++ b/Source/core/animation/KeyframeEffectModelTest.cpp |
| @@ -42,6 +42,8 @@ using namespace WebCore; |
| namespace { |
| +const double kDuration = 1.0; |
|
shans
2014/03/21 04:41:41
'duration'
Eric Willigers
2014/03/21 04:52:30
Done.
|
| + |
| PassRefPtr<AnimatableValue> unknownAnimatableValue(double n) |
| { |
| return AnimatableUnknown::create(CSSPrimitiveValue::create(n, CSSPrimitiveValue::CSS_UNKNOWN).get()); |
| @@ -101,7 +103,7 @@ TEST(AnimationKeyframeEffectModel, BasicOperation) |
| { |
| KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnimatableValue(3.0), unknownAnimatableValue(5.0)); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - OwnPtr<Vector<RefPtr<Interpolation> > > values = effect->sample(0, 0.6); |
| + OwnPtr<Vector<RefPtr<Interpolation> > > values = effect->sample(0, 0.6, kDuration); |
| ASSERT_EQ(1UL, values->size()); |
| expectProperty(CSSPropertyLeft, values->at(0)); |
| expectDoubleValue(5.0, values->at(0)); |
| @@ -113,7 +115,7 @@ TEST(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable) |
| keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(5.0, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue(5.0, effect->sample(0, 0.6, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, CompositeReplace) |
| @@ -122,7 +124,7 @@ TEST(AnimationKeyframeEffectModel, CompositeReplace) |
| keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6, kDuration)->at(0)); |
| } |
| // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| @@ -132,7 +134,7 @@ TEST(AnimationKeyframeEffectModel, DISABLED_CompositeAdd) |
| keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
| keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, CompositeEaseIn) |
| @@ -143,7 +145,8 @@ TEST(AnimationKeyframeEffectModel, CompositeEaseIn) |
| keyframes[0]->setEasing(CSSToStyleMap::animationTimingFunction(timingFunction.get(), false)); |
| keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(3.8582394, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue(3.8579516, effect->sample(0, 0.6, kDuration)->at(0)); |
| + expectDoubleValue(3.8582394, effect->sample(0, 0.6, kDuration * 100)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, CompositeCubicBezier) |
| @@ -154,7 +157,8 @@ TEST(AnimationKeyframeEffectModel, CompositeCubicBezier) |
| keyframes[0]->setEasing(CSSToStyleMap::animationTimingFunction(timingFunction.get(), false)); |
| keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(4.3362322, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue(4.3363357, effect->sample(0, 0.6, kDuration)->at(0)); |
| + expectDoubleValue(4.3362322, effect->sample(0, 0.6, kDuration * 1000)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable) |
| @@ -163,7 +167,7 @@ TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable) |
| keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(5.0, effect->sample(0, 1.6)->at(0)); |
| + expectDoubleValue(5.0, effect->sample(0, 1.6, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, ExtrapolateReplace) |
| @@ -172,7 +176,7 @@ TEST(AnimationKeyframeEffectModel, ExtrapolateReplace) |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
| keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
| - expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, effect->sample(0, 1.6)->at(0)); |
| + expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, effect->sample(0, 1.6, kDuration)->at(0)); |
| } |
| // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| @@ -182,13 +186,13 @@ TEST(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd) |
| keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
| keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, effect->sample(0, 1.6)->at(0)); |
| + expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, effect->sample(0, 1.6, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, ZeroKeyframes) |
| { |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(KeyframeEffectModel::KeyframeVector()); |
| - EXPECT_TRUE(effect->sample(0, 0.5)->isEmpty()); |
| + EXPECT_TRUE(effect->sample(0, 0.5, kDuration)->isEmpty()); |
| } |
| // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| @@ -200,7 +204,7 @@ TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero) |
| keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(3.0, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue(3.0, effect->sample(0, 0.6, kDuration)->at(0)); |
| } |
| // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| @@ -212,7 +216,7 @@ TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetOne) |
| keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes) |
| @@ -229,8 +233,8 @@ TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes) |
| keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(4.0, effect->sample(0, 0.3)->at(0)); |
| - expectDoubleValue(5.0, effect->sample(0, 0.8)->at(0)); |
| + expectDoubleValue(4.0, effect->sample(0, 0.3, kDuration)->at(0)); |
| + expectDoubleValue(5.0, effect->sample(0, 0.8, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified) |
| @@ -245,9 +249,9 @@ TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified) |
| keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(3.0, effect->sample(0, 0.1)->at(0)); |
| - expectDoubleValue(4.0, effect->sample(0, 0.6)->at(0)); |
| - expectDoubleValue(5.0, effect->sample(0, 0.9)->at(0)); |
| + expectDoubleValue(3.0, effect->sample(0, 0.1, kDuration)->at(0)); |
| + expectDoubleValue(4.0, effect->sample(0, 0.6, kDuration)->at(0)); |
| + expectDoubleValue(5.0, effect->sample(0, 0.9, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, SampleOnKeyframe) |
| @@ -264,9 +268,9 @@ TEST(AnimationKeyframeEffectModel, SampleOnKeyframe) |
| keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(3.0, effect->sample(0, 0.0)->at(0)); |
| - expectDoubleValue(4.0, effect->sample(0, 0.5)->at(0)); |
| - expectDoubleValue(5.0, effect->sample(0, 1.0)->at(0)); |
| + expectDoubleValue(3.0, effect->sample(0, 0.0, kDuration)->at(0)); |
| + expectDoubleValue(4.0, effect->sample(0, 0.5, kDuration)->at(0)); |
| + expectDoubleValue(5.0, effect->sample(0, 1.0, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset) |
| @@ -301,13 +305,13 @@ TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset) |
| keyframes[8]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(0.0, effect->sample(0, 0.0)->at(0)); |
| - expectDoubleValue(2.0, effect->sample(0, 0.2)->at(0)); |
| - expectDoubleValue(3.0, effect->sample(0, 0.4)->at(0)); |
| - expectDoubleValue(5.0, effect->sample(0, 0.5)->at(0)); |
| - expectDoubleValue(5.0, effect->sample(0, 0.6)->at(0)); |
| - expectDoubleValue(6.0, effect->sample(0, 0.8)->at(0)); |
| - expectDoubleValue(7.0, effect->sample(0, 1.0)->at(0)); |
| + expectDoubleValue(0.0, effect->sample(0, 0.0, kDuration)->at(0)); |
| + expectDoubleValue(2.0, effect->sample(0, 0.2, kDuration)->at(0)); |
| + expectDoubleValue(3.0, effect->sample(0, 0.4, kDuration)->at(0)); |
| + expectDoubleValue(5.0, effect->sample(0, 0.5, kDuration)->at(0)); |
| + expectDoubleValue(5.0, effect->sample(0, 0.6, kDuration)->at(0)); |
| + expectDoubleValue(6.0, effect->sample(0, 0.8, kDuration)->at(0)); |
| + expectDoubleValue(7.0, effect->sample(0, 1.0, kDuration)->at(0)); |
| } |
| // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| @@ -323,7 +327,7 @@ TEST(AnimationKeyframeEffectModel, DISABLED_PerKeyframeComposite) |
| keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6)->at(0)); |
| + expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, MultipleProperties) |
| @@ -339,7 +343,7 @@ TEST(AnimationKeyframeEffectModel, MultipleProperties) |
| keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - OwnPtr<Vector<RefPtr<Interpolation> > > values = effect->sample(0, 0.6); |
| + OwnPtr<Vector<RefPtr<Interpolation> > > values = effect->sample(0, 0.6, kDuration); |
| EXPECT_EQ(2UL, values->size()); |
| Interpolation* leftValue = findValue(*values.get(), CSSPropertyLeft); |
| ASSERT_TRUE(leftValue); |
| @@ -356,7 +360,7 @@ TEST(AnimationKeyframeEffectModel, DISABLED_RecompositeCompositableValue) |
| keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
| keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - OwnPtr<Vector<RefPtr<Interpolation> > > values = effect->sample(0, 0.6); |
| + OwnPtr<Vector<RefPtr<Interpolation> > > values = effect->sample(0, 0.6, kDuration); |
| expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); |
| expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->at(0)); |
| } |
| @@ -365,9 +369,9 @@ TEST(AnimationKeyframeEffectModel, MultipleIterations) |
| { |
| KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimatableValue(1.0), pixelAnimatableValue(3.0)); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - expectDoubleValue(2.0, effect->sample(0, 0.5)->at(0)); |
| - expectDoubleValue(2.0, effect->sample(1, 0.5)->at(0)); |
| - expectDoubleValue(2.0, effect->sample(2, 0.5)->at(0)); |
| + expectDoubleValue(2.0, effect->sample(0, 0.5, kDuration)->at(0)); |
| + expectDoubleValue(2.0, effect->sample(1, 0.5, kDuration)->at(0)); |
| + expectDoubleValue(2.0, effect->sample(2, 0.5, kDuration)->at(0)); |
| } |
| // FIXME: Re-enable this test once compositing of CompositeAdd is supported. |
| @@ -386,15 +390,15 @@ TEST(AnimationKeyframeEffectModel, DISABLED_DependsOnUnderlyingValue) |
| keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).get()); |
| RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create(keyframes); |
| - EXPECT_TRUE(effect->sample(0, 0)->at(0)); |
| - EXPECT_TRUE(effect->sample(0, 0.1)->at(0)); |
| - EXPECT_TRUE(effect->sample(0, 0.25)->at(0)); |
| - EXPECT_TRUE(effect->sample(0, 0.4)->at(0)); |
| - EXPECT_FALSE(effect->sample(0, 0.5)->at(0)); |
| - EXPECT_FALSE(effect->sample(0, 0.6)->at(0)); |
| - EXPECT_FALSE(effect->sample(0, 0.75)->at(0)); |
| - EXPECT_FALSE(effect->sample(0, 0.8)->at(0)); |
| - EXPECT_FALSE(effect->sample(0, 1)->at(0)); |
| + EXPECT_TRUE(effect->sample(0, 0, kDuration)->at(0)); |
| + EXPECT_TRUE(effect->sample(0, 0.1, kDuration)->at(0)); |
| + EXPECT_TRUE(effect->sample(0, 0.25, kDuration)->at(0)); |
| + EXPECT_TRUE(effect->sample(0, 0.4, kDuration)->at(0)); |
| + EXPECT_FALSE(effect->sample(0, 0.5, kDuration)->at(0)); |
| + EXPECT_FALSE(effect->sample(0, 0.6, kDuration)->at(0)); |
| + EXPECT_FALSE(effect->sample(0, 0.75, kDuration)->at(0)); |
| + EXPECT_FALSE(effect->sample(0, 0.8, kDuration)->at(0)); |
| + EXPECT_FALSE(effect->sample(0, 1, kDuration)->at(0)); |
| } |
| TEST(AnimationKeyframeEffectModel, AddSyntheticKeyframes) |