Index: Source/core/animation/InterpolableValueTest.cpp |
diff --git a/Source/core/animation/InterpolableValueTest.cpp b/Source/core/animation/InterpolableValueTest.cpp |
index 3765e20ff2b9b67d02ac34c9f0c23114a0347a0c..de4b6d40c40eed2211f80abd83ace8c1c560c625 100644 |
--- a/Source/core/animation/InterpolableValueTest.cpp |
+++ b/Source/core/animation/InterpolableValueTest.cpp |
@@ -55,64 +55,17 @@ protected: |
return toInterpolableBool(interpolationValue(*i.get()))->value(); |
} |
+ void scaleAndAdd(InterpolableValue& base, double scale, const InterpolableValue& add) |
+ { |
+ base.scaleAndAdd(scale, add); |
+ } |
+ |
PassRefPtrWillBeRawPtr<Interpolation> interpolateLists(PassOwnPtrWillBeRawPtr<InterpolableList> listA, PassOwnPtrWillBeRawPtr<InterpolableList> listB, double progress) |
{ |
RefPtrWillBeRawPtr<Interpolation> i = SampleInterpolation::create(listA, listB); |
i->interpolate(0, progress); |
return i; |
} |
- |
- double addNumbers(double a, double b) |
- { |
- OwnPtrWillBeRawPtr<InterpolableValue> numA = InterpolableNumber::create(a); |
- OwnPtrWillBeRawPtr<InterpolableValue> numB = InterpolableNumber::create(b); |
- |
- OwnPtrWillBeRawPtr<InterpolableValue> resultNumber = InterpolableNumber::create(0); |
- |
- numA->add(*numB, *resultNumber); |
- |
- return toInterpolableNumber(resultNumber.get())->value(); |
- } |
- |
- bool addBools(bool a, bool b) |
- { |
- OwnPtrWillBeRawPtr<InterpolableValue> boolA = InterpolableBool::create(a); |
- OwnPtrWillBeRawPtr<InterpolableValue> boolB = InterpolableBool::create(b); |
- |
- OwnPtrWillBeRawPtr<InterpolableValue> resultBool = InterpolableBool::create(false); |
- |
- boolA->add(*boolB, *resultBool); |
- |
- return toInterpolableBool(resultBool.get())->value(); |
- } |
- |
- PassOwnPtrWillBeRawPtr<InterpolableList> addLists(PassOwnPtrWillBeRawPtr<InterpolableValue> listA, PassOwnPtrWillBeRawPtr<InterpolableValue> listB) |
- { |
- OwnPtrWillBeRawPtr<InterpolableList> result = InterpolableList::create(toInterpolableList(*listA)); |
- |
- listA->add(*listB, *result); |
- |
- return result.release(); |
- } |
- |
- double multiplyNumber(double scalar, double n) |
- { |
- OwnPtrWillBeRawPtr<InterpolableValue> num = InterpolableNumber::create(n); |
- OwnPtrWillBeRawPtr<InterpolableValue> result = InterpolableNumber::create(0); |
- |
- num->multiply(scalar, *result); |
- |
- return toInterpolableNumber(result.get())->value(); |
- } |
- |
- PassOwnPtrWillBeRawPtr<InterpolableList> multiplyList(double scalar, PassOwnPtrWillBeRawPtr<InterpolableValue> list) |
- { |
- OwnPtrWillBeRawPtr<InterpolableList> result = InterpolableList::create(toInterpolableList(*list)); |
- |
- list->multiply(scalar, *result); |
- |
- return result.release(); |
- } |
}; |
TEST_F(AnimationInterpolableValueTest, InterpolateNumbers) |
@@ -177,102 +130,35 @@ TEST_F(AnimationInterpolableValueTest, NestedList) |
EXPECT_TRUE(toInterpolableBool(outList->get(2))->value()); |
} |
-TEST_F(AnimationInterpolableValueTest, AddNumbers) |
+TEST_F(AnimationInterpolableValueTest, ScaleAndAddNumbers) |
{ |
- EXPECT_FLOAT_EQ(42, addNumbers(20, 22)); |
- EXPECT_FLOAT_EQ(42, addNumbers(22, 20)); |
- EXPECT_FLOAT_EQ(50, addNumbers(0, 50)); |
- EXPECT_FLOAT_EQ(50, addNumbers(50, 0)); |
- EXPECT_FLOAT_EQ(32, addNumbers(42, -10)); |
- EXPECT_FLOAT_EQ(32, addNumbers(-10, 42)); |
- EXPECT_FLOAT_EQ(-32, addNumbers(-42, 10)); |
- EXPECT_FLOAT_EQ(-32, addNumbers(10, -42)); |
-} |
+ OwnPtrWillBeRawPtr<InterpolableNumber> base = InterpolableNumber::create(10); |
+ scaleAndAdd(*base, 2, *InterpolableNumber::create(1)); |
+ EXPECT_FLOAT_EQ(21, base->value()); |
-TEST_F(AnimationInterpolableValueTest, AddBools) |
-{ |
- EXPECT_FALSE(addBools(false, false)); |
- EXPECT_TRUE(addBools(true, false)); |
- EXPECT_TRUE(addBools(false, true)); |
- EXPECT_TRUE(addBools(true, true)); |
-} |
- |
-TEST_F(AnimationInterpolableValueTest, AddLists) |
-{ |
- OwnPtrWillBeRawPtr<InterpolableList> listA = InterpolableList::create(3); |
- listA->set(0, InterpolableNumber::create(31)); |
- listA->set(1, InterpolableNumber::create(-20)); |
- listA->set(2, InterpolableNumber::create(42)); |
- |
- OwnPtrWillBeRawPtr<InterpolableList> listB = InterpolableList::create(3); |
- listB->set(0, InterpolableNumber::create(20)); |
- listB->set(1, InterpolableNumber::create(43)); |
- listB->set(2, InterpolableNumber::create(-60)); |
- |
- OwnPtrWillBeRawPtr<InterpolableList> result = addLists(listA.release(), listB.release()); |
- EXPECT_FLOAT_EQ(51, toInterpolableNumber(result->get(0))->value()); |
- EXPECT_FLOAT_EQ(23, toInterpolableNumber(result->get(1))->value()); |
- EXPECT_FLOAT_EQ(-18, toInterpolableNumber(result->get(2))->value()); |
-} |
- |
-TEST_F(AnimationInterpolableValueTest, AddNestedLists) |
-{ |
- OwnPtrWillBeRawPtr<InterpolableList> listA = InterpolableList::create(3); |
- listA->set(0, InterpolableNumber::create(19)); |
- OwnPtrWillBeRawPtr<InterpolableList> subListA = InterpolableList::create(1); |
- subListA->set(0, InterpolableNumber::create(67)); |
- listA->set(1, subListA.release()); |
- listA->set(2, InterpolableBool::create(false)); |
+ base = InterpolableNumber::create(10); |
+ scaleAndAdd(*base, 0, *InterpolableNumber::create(5)); |
+ EXPECT_FLOAT_EQ(5, base->value()); |
- OwnPtrWillBeRawPtr<InterpolableList> listB = InterpolableList::create(3); |
- listB->set(0, InterpolableNumber::create(21)); |
- OwnPtrWillBeRawPtr<InterpolableList> subListB = InterpolableList::create(1); |
- subListB->set(0, InterpolableNumber::create(31)); |
- listB->set(1, subListB.release()); |
- listB->set(2, InterpolableBool::create(true)); |
- |
- OwnPtrWillBeRawPtr<InterpolableList> result = addLists(listA.release(), listB.release()); |
- EXPECT_FLOAT_EQ(40, toInterpolableNumber(result->get(0))->value()); |
- EXPECT_FLOAT_EQ(98, toInterpolableNumber(toInterpolableList(result->get(1))->get(0))->value()); |
- EXPECT_TRUE(toInterpolableBool(result->get(2))->value()); |
+ base = InterpolableNumber::create(10); |
+ scaleAndAdd(*base, -1, *InterpolableNumber::create(8)); |
+ EXPECT_FLOAT_EQ(-2, base->value()); |
} |
-TEST_F(AnimationInterpolableValueTest, NumberScalarMultiplication) |
+TEST_F(AnimationInterpolableValueTest, ScaleAndAddLists) |
{ |
- EXPECT_FLOAT_EQ(42, multiplyNumber(6, 7)); |
- EXPECT_FLOAT_EQ(-20, multiplyNumber(-2, 10)); |
- EXPECT_FLOAT_EQ(-42, multiplyNumber(21, -2)); |
- EXPECT_FLOAT_EQ(20, multiplyNumber(-4, -5)); |
- |
- EXPECT_FLOAT_EQ(0, multiplyNumber(0, 10)); |
- EXPECT_FLOAT_EQ(0, multiplyNumber(10, 0)); |
-} |
- |
-TEST_F(AnimationInterpolableValueTest, ListScalarMultiplication) |
-{ |
- OwnPtrWillBeRawPtr<InterpolableList> listA = InterpolableList::create(3); |
- listA->set(0, InterpolableNumber::create(5)); |
- OwnPtrWillBeRawPtr<InterpolableList> subListA = InterpolableList::create(2); |
- subListA->set(0, InterpolableNumber::create(4)); |
- subListA->set(1, InterpolableNumber::create(7)); |
- listA->set(1, subListA.release()); |
- listA->set(2, InterpolableNumber::create(3)); |
- |
- OwnPtrWillBeRawPtr<InterpolableList> resultA = multiplyList(6, listA.release()); |
- EXPECT_FLOAT_EQ(30, toInterpolableNumber(resultA->get(0))->value()); |
- EXPECT_FLOAT_EQ(24, toInterpolableNumber(toInterpolableList(resultA->get(1))->get(0))->value()); |
- EXPECT_FLOAT_EQ(42, toInterpolableNumber(toInterpolableList(resultA->get(1))->get(1))->value()); |
- EXPECT_FLOAT_EQ(18, toInterpolableNumber(resultA->get(2))->value()); |
- |
- OwnPtrWillBeRawPtr<InterpolableList> listB = InterpolableList::create(3); |
- listB->set(0, InterpolableNumber::create(8)); |
- listB->set(1, InterpolableNumber::create(-10)); |
- listB->set(2, InterpolableNumber::create(9)); |
- |
- OwnPtrWillBeRawPtr<InterpolableList> resultB = multiplyList(0, listB.release()); |
- EXPECT_FLOAT_EQ(0, toInterpolableNumber(resultB->get(0))->value()); |
- EXPECT_FLOAT_EQ(0, toInterpolableNumber(resultB->get(1))->value()); |
- EXPECT_FLOAT_EQ(0, toInterpolableNumber(resultB->get(2))->value()); |
+ OwnPtrWillBeRawPtr<InterpolableList> baseList = InterpolableList::create(3); |
+ baseList->set(0, InterpolableNumber::create(5)); |
+ baseList->set(1, InterpolableNumber::create(10)); |
+ baseList->set(2, InterpolableNumber::create(15)); |
+ OwnPtrWillBeRawPtr<InterpolableList> addList = InterpolableList::create(3); |
+ addList->set(0, InterpolableNumber::create(1)); |
+ addList->set(1, InterpolableNumber::create(2)); |
+ addList->set(2, InterpolableNumber::create(3)); |
+ scaleAndAdd(*baseList, 2, *addList); |
+ EXPECT_FLOAT_EQ(11, toInterpolableNumber(baseList->get(0))->value()); |
+ EXPECT_FLOAT_EQ(22, toInterpolableNumber(baseList->get(1))->value()); |
+ EXPECT_FLOAT_EQ(33, toInterpolableNumber(baseList->get(2))->value()); |
} |
} |