| 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());
|
| }
|
|
|
| }
|
|
|