Index: Source/core/animation/KeyframeEffectModelTest.cpp |
diff --git a/Source/core/animation/KeyframeEffectModelTest.cpp b/Source/core/animation/KeyframeEffectModelTest.cpp |
index 50eda1402e829ba489520de61c2fa838591b9f75..779da432757951a05b263d9b2ceef3d588729959 100644 |
--- a/Source/core/animation/KeyframeEffectModelTest.cpp |
+++ b/Source/core/animation/KeyframeEffectModelTest.cpp |
@@ -42,6 +42,8 @@ using namespace WebCore; |
namespace { |
+const double duration = 1.0; |
+ |
PassRefPtrWillBeRawPtr<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, duration); |
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, duration)->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, duration)->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, duration)->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, duration)->at(0)); |
+ expectDoubleValue(3.8582394, effect->sample(0, 0.6, duration * 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, duration)->at(0)); |
+ expectDoubleValue(4.3362322, effect->sample(0, 0.6, duration * 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, duration)->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, duration)->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, duration)->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, duration)->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, duration)->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, duration)->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, duration)->at(0)); |
+ expectDoubleValue(5.0, effect->sample(0, 0.8, duration)->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, duration)->at(0)); |
+ expectDoubleValue(4.0, effect->sample(0, 0.6, duration)->at(0)); |
+ expectDoubleValue(5.0, effect->sample(0, 0.9, duration)->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, duration)->at(0)); |
+ expectDoubleValue(4.0, effect->sample(0, 0.5, duration)->at(0)); |
+ expectDoubleValue(5.0, effect->sample(0, 1.0, duration)->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, duration)->at(0)); |
+ expectDoubleValue(2.0, effect->sample(0, 0.2, duration)->at(0)); |
+ expectDoubleValue(3.0, effect->sample(0, 0.4, duration)->at(0)); |
+ expectDoubleValue(5.0, effect->sample(0, 0.5, duration)->at(0)); |
+ expectDoubleValue(5.0, effect->sample(0, 0.6, duration)->at(0)); |
+ expectDoubleValue(6.0, effect->sample(0, 0.8, duration)->at(0)); |
+ expectDoubleValue(7.0, effect->sample(0, 1.0, duration)->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, duration)->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, duration); |
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, duration); |
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, duration)->at(0)); |
+ expectDoubleValue(2.0, effect->sample(1, 0.5, duration)->at(0)); |
+ expectDoubleValue(2.0, effect->sample(2, 0.5, duration)->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, duration)->at(0)); |
+ EXPECT_TRUE(effect->sample(0, 0.1, duration)->at(0)); |
+ EXPECT_TRUE(effect->sample(0, 0.25, duration)->at(0)); |
+ EXPECT_TRUE(effect->sample(0, 0.4, duration)->at(0)); |
+ EXPECT_FALSE(effect->sample(0, 0.5, duration)->at(0)); |
+ EXPECT_FALSE(effect->sample(0, 0.6, duration)->at(0)); |
+ EXPECT_FALSE(effect->sample(0, 0.75, duration)->at(0)); |
+ EXPECT_FALSE(effect->sample(0, 0.8, duration)->at(0)); |
+ EXPECT_FALSE(effect->sample(0, 1, duration)->at(0)); |
} |
TEST(AnimationKeyframeEffectModel, AddSyntheticKeyframes) |