Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Side by Side Diff: Source/core/animation/InterpolableValueTest.cpp

Issue 212213007: Oilpan: Move InterpolableValue's hierarchy to oilpan's heap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "config.h" 5 #include "config.h"
6 #include "core/animation/InterpolableValue.h" 6 #include "core/animation/InterpolableValue.h"
7 7
8 #include "core/animation/Interpolation.h" 8 #include "core/animation/Interpolation.h"
9 9
10 #include <gtest/gtest.h> 10 #include <gtest/gtest.h>
(...skipping 14 matching lines...) Expand all
25 return toInterpolableNumber(interpolationValue(*i.get()))->value(); 25 return toInterpolableNumber(interpolationValue(*i.get()))->value();
26 } 26 }
27 27
28 bool interpolateBools(bool a, bool b, double progress) 28 bool interpolateBools(bool a, bool b, double progress)
29 { 29 {
30 RefPtrWillBeRawPtr<Interpolation> i = Interpolation::create(Interpolable Bool::create(a), InterpolableBool::create(b)); 30 RefPtrWillBeRawPtr<Interpolation> i = Interpolation::create(Interpolable Bool::create(a), InterpolableBool::create(b));
31 i->interpolate(0, progress); 31 i->interpolate(0, progress);
32 return toInterpolableBool(interpolationValue(*i.get()))->value(); 32 return toInterpolableBool(interpolationValue(*i.get()))->value();
33 } 33 }
34 34
35 PassRefPtrWillBeRawPtr<Interpolation> interpolateLists(PassOwnPtr<Interpolab leList> listA, PassOwnPtr<InterpolableList> listB, double progress) 35 PassRefPtrWillBeRawPtr<Interpolation> interpolateLists(PassOwnPtrWillBeRawPt r<InterpolableList> listA, PassOwnPtrWillBeRawPtr<InterpolableList> listB, doubl e progress)
36 { 36 {
37 RefPtrWillBeRawPtr<Interpolation> i = Interpolation::create(listA, listB ); 37 RefPtrWillBeRawPtr<Interpolation> i = Interpolation::create(listA, listB );
38 i->interpolate(0, progress); 38 i->interpolate(0, progress);
39 return i; 39 return i;
40 } 40 }
41 }; 41 };
42 42
43 TEST_F(AnimationInterpolableValueTest, InterpolateNumbers) 43 TEST_F(AnimationInterpolableValueTest, InterpolateNumbers)
44 { 44 {
45 EXPECT_FLOAT_EQ(126, interpolateNumbers(42, 0, -2)); 45 EXPECT_FLOAT_EQ(126, interpolateNumbers(42, 0, -2));
46 EXPECT_FLOAT_EQ(42, interpolateNumbers(42, 0, 0)); 46 EXPECT_FLOAT_EQ(42, interpolateNumbers(42, 0, 0));
47 EXPECT_FLOAT_EQ(29.4f, interpolateNumbers(42, 0, 0.3)); 47 EXPECT_FLOAT_EQ(29.4f, interpolateNumbers(42, 0, 0.3));
48 EXPECT_FLOAT_EQ(21, interpolateNumbers(42, 0, 0.5)); 48 EXPECT_FLOAT_EQ(21, interpolateNumbers(42, 0, 0.5));
49 EXPECT_FLOAT_EQ(0, interpolateNumbers(42, 0, 1)); 49 EXPECT_FLOAT_EQ(0, interpolateNumbers(42, 0, 1));
50 EXPECT_FLOAT_EQ(-21, interpolateNumbers(42, 0, 1.5)); 50 EXPECT_FLOAT_EQ(-21, interpolateNumbers(42, 0, 1.5));
51 } 51 }
52 52
53 TEST_F(AnimationInterpolableValueTest, InterpolateBools) 53 TEST_F(AnimationInterpolableValueTest, InterpolateBools)
54 { 54 {
55 EXPECT_FALSE(interpolateBools(false, true, -1)); 55 EXPECT_FALSE(interpolateBools(false, true, -1));
56 EXPECT_FALSE(interpolateBools(false, true, 0)); 56 EXPECT_FALSE(interpolateBools(false, true, 0));
57 EXPECT_FALSE(interpolateBools(false, true, 0.3)); 57 EXPECT_FALSE(interpolateBools(false, true, 0.3));
58 EXPECT_TRUE(interpolateBools(false, true, 0.5)); 58 EXPECT_TRUE(interpolateBools(false, true, 0.5));
59 EXPECT_TRUE(interpolateBools(false, true, 1)); 59 EXPECT_TRUE(interpolateBools(false, true, 1));
60 EXPECT_TRUE(interpolateBools(false, true, 2)); 60 EXPECT_TRUE(interpolateBools(false, true, 2));
61 } 61 }
62 62
63 TEST_F(AnimationInterpolableValueTest, SimpleList) 63 TEST_F(AnimationInterpolableValueTest, SimpleList)
64 { 64 {
65 OwnPtr<InterpolableList> listA = InterpolableList::create(3); 65 OwnPtrWillBeRawPtr<InterpolableList> listA = InterpolableList::create(3);
66 listA->set(0, InterpolableNumber::create(0)); 66 listA->set(0, InterpolableNumber::create(0));
67 listA->set(1, InterpolableNumber::create(42)); 67 listA->set(1, InterpolableNumber::create(42));
68 listA->set(2, InterpolableNumber::create(20.5)); 68 listA->set(2, InterpolableNumber::create(20.5));
69 69
70 OwnPtr<InterpolableList> listB = InterpolableList::create(3); 70 OwnPtrWillBeRawPtr<InterpolableList> listB = InterpolableList::create(3);
71 listB->set(0, InterpolableNumber::create(100)); 71 listB->set(0, InterpolableNumber::create(100));
72 listB->set(1, InterpolableNumber::create(-200)); 72 listB->set(1, InterpolableNumber::create(-200));
73 listB->set(2, InterpolableNumber::create(300)); 73 listB->set(2, InterpolableNumber::create(300));
74 74
75 RefPtrWillBeRawPtr<Interpolation> i = interpolateLists(listA.release(), list B.release(), 0.3); 75 RefPtrWillBeRawPtr<Interpolation> i = interpolateLists(listA.release(), list B.release(), 0.3);
76 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get())) ; 76 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get())) ;
77 EXPECT_FLOAT_EQ(30, toInterpolableNumber(outList->get(0))->value()); 77 EXPECT_FLOAT_EQ(30, toInterpolableNumber(outList->get(0))->value());
78 EXPECT_FLOAT_EQ(-30.6f, toInterpolableNumber(outList->get(1))->value()); 78 EXPECT_FLOAT_EQ(-30.6f, toInterpolableNumber(outList->get(1))->value());
79 EXPECT_FLOAT_EQ(104.35f, toInterpolableNumber(outList->get(2))->value()); 79 EXPECT_FLOAT_EQ(104.35f, toInterpolableNumber(outList->get(2))->value());
80 } 80 }
81 81
82 TEST_F(AnimationInterpolableValueTest, NestedList) 82 TEST_F(AnimationInterpolableValueTest, NestedList)
83 { 83 {
84 OwnPtr<InterpolableList> listA = InterpolableList::create(3); 84 OwnPtrWillBeRawPtr<InterpolableList> listA = InterpolableList::create(3);
85 listA->set(0, InterpolableNumber::create(0)); 85 listA->set(0, InterpolableNumber::create(0));
86 OwnPtr<InterpolableList> subListA = InterpolableList::create(1); 86 OwnPtrWillBeRawPtr<InterpolableList> subListA = InterpolableList::create(1);
87 subListA->set(0, InterpolableNumber::create(100)); 87 subListA->set(0, InterpolableNumber::create(100));
88 listA->set(1, subListA.release()); 88 listA->set(1, subListA.release());
89 listA->set(2, InterpolableBool::create(false)); 89 listA->set(2, InterpolableBool::create(false));
90 90
91 OwnPtr<InterpolableList> listB = InterpolableList::create(3); 91 OwnPtrWillBeRawPtr<InterpolableList> listB = InterpolableList::create(3);
92 listB->set(0, InterpolableNumber::create(100)); 92 listB->set(0, InterpolableNumber::create(100));
93 OwnPtr<InterpolableList> subListB = InterpolableList::create(1); 93 OwnPtrWillBeRawPtr<InterpolableList> subListB = InterpolableList::create(1);
94 subListB->set(0, InterpolableNumber::create(50)); 94 subListB->set(0, InterpolableNumber::create(50));
95 listB->set(1, subListB.release()); 95 listB->set(1, subListB.release());
96 listB->set(2, InterpolableBool::create(true)); 96 listB->set(2, InterpolableBool::create(true));
97 97
98 RefPtrWillBeRawPtr<Interpolation> i = interpolateLists(listA.release(), list B.release(), 0.5); 98 RefPtrWillBeRawPtr<Interpolation> i = interpolateLists(listA.release(), list B.release(), 0.5);
99 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get())) ; 99 InterpolableList* outList = toInterpolableList(interpolationValue(*i.get())) ;
100 EXPECT_FLOAT_EQ(50, toInterpolableNumber(outList->get(0))->value()); 100 EXPECT_FLOAT_EQ(50, toInterpolableNumber(outList->get(0))->value());
101 EXPECT_FLOAT_EQ(75, toInterpolableNumber(toInterpolableList(outList->get(1)) ->get(0))->value()); 101 EXPECT_FLOAT_EQ(75, toInterpolableNumber(toInterpolableList(outList->get(1)) ->get(0))->value());
102 EXPECT_TRUE(toInterpolableBool(outList->get(2))->value()); 102 EXPECT_TRUE(toInterpolableBool(outList->get(2))->value());
103 } 103 }
104 104
105 } 105 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698