| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/animation/InterpolableValue.h" | 5 #include "core/animation/InterpolableValue.h" |
| 6 | 6 |
| 7 #include "core/animation/Interpolation.h" | 7 #include "core/animation/Interpolation.h" |
| 8 #include "core/animation/PropertyHandle.h" | 8 #include "core/animation/PropertyHandle.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 OwnPtr<InterpolableList> listA = InterpolableList::create(3); | 91 OwnPtr<InterpolableList> listA = InterpolableList::create(3); |
| 92 listA->set(0, InterpolableNumber::create(0)); | 92 listA->set(0, InterpolableNumber::create(0)); |
| 93 listA->set(1, InterpolableNumber::create(42)); | 93 listA->set(1, InterpolableNumber::create(42)); |
| 94 listA->set(2, InterpolableNumber::create(20.5)); | 94 listA->set(2, InterpolableNumber::create(20.5)); |
| 95 | 95 |
| 96 OwnPtr<InterpolableList> listB = InterpolableList::create(3); | 96 OwnPtr<InterpolableList> listB = InterpolableList::create(3); |
| 97 listB->set(0, InterpolableNumber::create(100)); | 97 listB->set(0, InterpolableNumber::create(100)); |
| 98 listB->set(1, InterpolableNumber::create(-200)); | 98 listB->set(1, InterpolableNumber::create(-200)); |
| 99 listB->set(2, InterpolableNumber::create(300)); | 99 listB->set(2, InterpolableNumber::create(300)); |
| 100 | 100 |
| 101 RefPtr<Interpolation> i = interpolateLists(listA.release(), listB.release(),
0.3); | 101 RefPtr<Interpolation> i = interpolateLists(std::move(listA), std::move(listB
), 0.3); |
| 102 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get()))
; | 102 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get()))
; |
| 103 EXPECT_FLOAT_EQ(30, toInterpolableNumber(outList->get(0))->value()); | 103 EXPECT_FLOAT_EQ(30, toInterpolableNumber(outList->get(0))->value()); |
| 104 EXPECT_FLOAT_EQ(-30.6f, toInterpolableNumber(outList->get(1))->value()); | 104 EXPECT_FLOAT_EQ(-30.6f, toInterpolableNumber(outList->get(1))->value()); |
| 105 EXPECT_FLOAT_EQ(104.35f, toInterpolableNumber(outList->get(2))->value()); | 105 EXPECT_FLOAT_EQ(104.35f, toInterpolableNumber(outList->get(2))->value()); |
| 106 } | 106 } |
| 107 | 107 |
| 108 TEST_F(AnimationInterpolableValueTest, NestedList) | 108 TEST_F(AnimationInterpolableValueTest, NestedList) |
| 109 { | 109 { |
| 110 OwnPtr<InterpolableList> listA = InterpolableList::create(3); | 110 OwnPtr<InterpolableList> listA = InterpolableList::create(3); |
| 111 listA->set(0, InterpolableNumber::create(0)); | 111 listA->set(0, InterpolableNumber::create(0)); |
| 112 OwnPtr<InterpolableList> subListA = InterpolableList::create(1); | 112 OwnPtr<InterpolableList> subListA = InterpolableList::create(1); |
| 113 subListA->set(0, InterpolableNumber::create(100)); | 113 subListA->set(0, InterpolableNumber::create(100)); |
| 114 listA->set(1, subListA.release()); | 114 listA->set(1, std::move(subListA)); |
| 115 listA->set(2, InterpolableBool::create(false)); | 115 listA->set(2, InterpolableBool::create(false)); |
| 116 | 116 |
| 117 OwnPtr<InterpolableList> listB = InterpolableList::create(3); | 117 OwnPtr<InterpolableList> listB = InterpolableList::create(3); |
| 118 listB->set(0, InterpolableNumber::create(100)); | 118 listB->set(0, InterpolableNumber::create(100)); |
| 119 OwnPtr<InterpolableList> subListB = InterpolableList::create(1); | 119 OwnPtr<InterpolableList> subListB = InterpolableList::create(1); |
| 120 subListB->set(0, InterpolableNumber::create(50)); | 120 subListB->set(0, InterpolableNumber::create(50)); |
| 121 listB->set(1, subListB.release()); | 121 listB->set(1, std::move(subListB)); |
| 122 listB->set(2, InterpolableBool::create(true)); | 122 listB->set(2, InterpolableBool::create(true)); |
| 123 | 123 |
| 124 RefPtr<Interpolation> i = interpolateLists(listA.release(), listB.release(),
0.5); | 124 RefPtr<Interpolation> i = interpolateLists(std::move(listA), std::move(listB
), 0.5); |
| 125 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get()))
; | 125 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get()))
; |
| 126 EXPECT_FLOAT_EQ(50, toInterpolableNumber(outList->get(0))->value()); | 126 EXPECT_FLOAT_EQ(50, toInterpolableNumber(outList->get(0))->value()); |
| 127 EXPECT_FLOAT_EQ(75, toInterpolableNumber(toInterpolableList(outList->get(1))
->get(0))->value()); | 127 EXPECT_FLOAT_EQ(75, toInterpolableNumber(toInterpolableList(outList->get(1))
->get(0))->value()); |
| 128 EXPECT_TRUE(toInterpolableBool(outList->get(2))->value()); | 128 EXPECT_TRUE(toInterpolableBool(outList->get(2))->value()); |
| 129 } | 129 } |
| 130 | 130 |
| 131 TEST_F(AnimationInterpolableValueTest, ScaleAndAddNumbers) | 131 TEST_F(AnimationInterpolableValueTest, ScaleAndAddNumbers) |
| 132 { | 132 { |
| 133 OwnPtr<InterpolableNumber> base = InterpolableNumber::create(10); | 133 OwnPtr<InterpolableNumber> base = InterpolableNumber::create(10); |
| 134 scaleAndAdd(*base, 2, *InterpolableNumber::create(1)); | 134 scaleAndAdd(*base, 2, *InterpolableNumber::create(1)); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 153 addList->set(0, InterpolableNumber::create(1)); | 153 addList->set(0, InterpolableNumber::create(1)); |
| 154 addList->set(1, InterpolableNumber::create(2)); | 154 addList->set(1, InterpolableNumber::create(2)); |
| 155 addList->set(2, InterpolableNumber::create(3)); | 155 addList->set(2, InterpolableNumber::create(3)); |
| 156 scaleAndAdd(*baseList, 2, *addList); | 156 scaleAndAdd(*baseList, 2, *addList); |
| 157 EXPECT_FLOAT_EQ(11, toInterpolableNumber(baseList->get(0))->value()); | 157 EXPECT_FLOAT_EQ(11, toInterpolableNumber(baseList->get(0))->value()); |
| 158 EXPECT_FLOAT_EQ(22, toInterpolableNumber(baseList->get(1))->value()); | 158 EXPECT_FLOAT_EQ(22, toInterpolableNumber(baseList->get(1))->value()); |
| 159 EXPECT_FLOAT_EQ(33, toInterpolableNumber(baseList->get(2))->value()); | 159 EXPECT_FLOAT_EQ(33, toInterpolableNumber(baseList->get(2))->value()); |
| 160 } | 160 } |
| 161 | 161 |
| 162 } // namespace blink | 162 } // namespace blink |
| OLD | NEW |