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

Side by Side Diff: cc/keyframed_animation_curve_unittest.cc

Issue 11745018: Not for review: Move the implementation of WebTransformOperations into chromium (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: New approach Created 7 years, 11 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 "cc/keyframed_animation_curve.h" 5 #include "cc/keyframed_animation_curve.h"
6 6
7 #include "cc/transform_operations.h"
7 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
8 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
9 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformOperati ons.h"
10 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa trix.h" 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa trix.h"
11 11
12 using WebKit::WebTransformationMatrix; 12 using WebKit::WebTransformationMatrix;
13 13
14 namespace cc { 14 namespace cc {
15 namespace { 15 namespace {
16 16
17 void expectTranslateX(double translateX, const WebTransformationMatrix& matrix) 17 void expectTranslateX(double translateX, const WebTransformationMatrix& matrix)
18 { 18 {
19 EXPECT_FLOAT_EQ(translateX, matrix.m41()); 19 EXPECT_FLOAT_EQ(translateX, matrix.m41());
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 EXPECT_FLOAT_EQ(6, curve->getValue(1.5)); 80 EXPECT_FLOAT_EQ(6, curve->getValue(1.5));
81 EXPECT_FLOAT_EQ(6, curve->getValue(2)); 81 EXPECT_FLOAT_EQ(6, curve->getValue(2));
82 EXPECT_FLOAT_EQ(6, curve->getValue(3)); 82 EXPECT_FLOAT_EQ(6, curve->getValue(3));
83 } 83 }
84 84
85 85
86 // Tests that a transform animation with one keyframe works as expected. 86 // Tests that a transform animation with one keyframe works as expected.
87 TEST(KeyframedAnimationCurveTest, OneTransformKeyframe) 87 TEST(KeyframedAnimationCurveTest, OneTransformKeyframe)
88 { 88 {
89 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create()); 89 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create());
90 WebKit::WebTransformOperations operations; 90 TransformOperations operations;
91 operations.appendTranslate(2, 0, 0); 91 operations.AppendTranslate(2, 0, 0);
92 curve->addKeyframe(TransformKeyframe::create(0, operations, scoped_ptr<Timin gFunction>())); 92 curve->addKeyframe(TransformKeyframe::create(0, operations, scoped_ptr<Timin gFunction>()));
93 93
94 expectTranslateX(2, curve->getValue(-1)); 94 expectTranslateX(2, curve->getValue(-1));
95 expectTranslateX(2, curve->getValue(0)); 95 expectTranslateX(2, curve->getValue(0));
96 expectTranslateX(2, curve->getValue(0.5)); 96 expectTranslateX(2, curve->getValue(0.5));
97 expectTranslateX(2, curve->getValue(1)); 97 expectTranslateX(2, curve->getValue(1));
98 expectTranslateX(2, curve->getValue(2)); 98 expectTranslateX(2, curve->getValue(2));
99 } 99 }
100 100
101 // Tests that a transform animation with two keyframes works as expected. 101 // Tests that a transform animation with two keyframes works as expected.
102 TEST(KeyframedAnimationCurveTest, TwoTransformKeyframe) 102 TEST(KeyframedAnimationCurveTest, TwoTransformKeyframe)
103 { 103 {
104 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create()); 104 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create());
105 WebKit::WebTransformOperations operations1; 105 TransformOperations operations1;
106 operations1.appendTranslate(2, 0, 0); 106 operations1.AppendTranslate(2, 0, 0);
107 WebKit::WebTransformOperations operations2; 107 TransformOperations operations2;
108 operations2.appendTranslate(4, 0, 0); 108 operations2.AppendTranslate(4, 0, 0);
109 109
110 curve->addKeyframe(TransformKeyframe::create(0, operations1, scoped_ptr<Timi ngFunction>())); 110 curve->addKeyframe(TransformKeyframe::create(0, operations1, scoped_ptr<Timi ngFunction>()));
111 curve->addKeyframe(TransformKeyframe::create(1, operations2, scoped_ptr<Timi ngFunction>())); 111 curve->addKeyframe(TransformKeyframe::create(1, operations2, scoped_ptr<Timi ngFunction>()));
112 expectTranslateX(2, curve->getValue(-1)); 112 expectTranslateX(2, curve->getValue(-1));
113 expectTranslateX(2, curve->getValue(0)); 113 expectTranslateX(2, curve->getValue(0));
114 expectTranslateX(3, curve->getValue(0.5)); 114 expectTranslateX(3, curve->getValue(0.5));
115 expectTranslateX(4, curve->getValue(1)); 115 expectTranslateX(4, curve->getValue(1));
116 expectTranslateX(4, curve->getValue(2)); 116 expectTranslateX(4, curve->getValue(2));
117 } 117 }
118 118
119 // Tests that a transform animation with three keyframes works as expected. 119 // Tests that a transform animation with three keyframes works as expected.
120 TEST(KeyframedAnimationCurveTest, ThreeTransformKeyframe) 120 TEST(KeyframedAnimationCurveTest, ThreeTransformKeyframe)
121 { 121 {
122 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create()); 122 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create());
123 WebKit::WebTransformOperations operations1; 123 TransformOperations operations1;
124 operations1.appendTranslate(2, 0, 0); 124 operations1.AppendTranslate(2, 0, 0);
125 WebKit::WebTransformOperations operations2; 125 TransformOperations operations2;
126 operations2.appendTranslate(4, 0, 0); 126 operations2.AppendTranslate(4, 0, 0);
127 WebKit::WebTransformOperations operations3; 127 TransformOperations operations3;
128 operations3.appendTranslate(8, 0, 0); 128 operations3.AppendTranslate(8, 0, 0);
129 curve->addKeyframe(TransformKeyframe::create(0, operations1, scoped_ptr<Timi ngFunction>())); 129 curve->addKeyframe(TransformKeyframe::create(0, operations1, scoped_ptr<Timi ngFunction>()));
130 curve->addKeyframe(TransformKeyframe::create(1, operations2, scoped_ptr<Timi ngFunction>())); 130 curve->addKeyframe(TransformKeyframe::create(1, operations2, scoped_ptr<Timi ngFunction>()));
131 curve->addKeyframe(TransformKeyframe::create(2, operations3, scoped_ptr<Timi ngFunction>())); 131 curve->addKeyframe(TransformKeyframe::create(2, operations3, scoped_ptr<Timi ngFunction>()));
132 expectTranslateX(2, curve->getValue(-1)); 132 expectTranslateX(2, curve->getValue(-1));
133 expectTranslateX(2, curve->getValue(0)); 133 expectTranslateX(2, curve->getValue(0));
134 expectTranslateX(3, curve->getValue(0.5)); 134 expectTranslateX(3, curve->getValue(0.5));
135 expectTranslateX(4, curve->getValue(1)); 135 expectTranslateX(4, curve->getValue(1));
136 expectTranslateX(6, curve->getValue(1.5)); 136 expectTranslateX(6, curve->getValue(1.5));
137 expectTranslateX(8, curve->getValue(2)); 137 expectTranslateX(8, curve->getValue(2));
138 expectTranslateX(8, curve->getValue(3)); 138 expectTranslateX(8, curve->getValue(3));
139 } 139 }
140 140
141 // Tests that a transform animation with multiple keys at a given time works san ely. 141 // Tests that a transform animation with multiple keys at a given time works san ely.
142 TEST(KeyframedAnimationCurveTest, RepeatedTransformKeyTimes) 142 TEST(KeyframedAnimationCurveTest, RepeatedTransformKeyTimes)
143 { 143 {
144 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create()); 144 scoped_ptr<KeyframedTransformAnimationCurve> curve(KeyframedTransformAnimati onCurve::create());
145 // A step function. 145 // A step function.
146 WebKit::WebTransformOperations operations1; 146 TransformOperations operations1;
147 operations1.appendTranslate(4, 0, 0); 147 operations1.AppendTranslate(4, 0, 0);
148 WebKit::WebTransformOperations operations2; 148 TransformOperations operations2;
149 operations2.appendTranslate(4, 0, 0); 149 operations2.AppendTranslate(4, 0, 0);
150 WebKit::WebTransformOperations operations3; 150 TransformOperations operations3;
151 operations3.appendTranslate(6, 0, 0); 151 operations3.AppendTranslate(6, 0, 0);
152 WebKit::WebTransformOperations operations4; 152 TransformOperations operations4;
153 operations4.appendTranslate(6, 0, 0); 153 operations4.AppendTranslate(6, 0, 0);
154 curve->addKeyframe(TransformKeyframe::create(0, operations1, scoped_ptr<Timi ngFunction>())); 154 curve->addKeyframe(TransformKeyframe::create(0, operations1, scoped_ptr<Timi ngFunction>()));
155 curve->addKeyframe(TransformKeyframe::create(1, operations2, scoped_ptr<Timi ngFunction>())); 155 curve->addKeyframe(TransformKeyframe::create(1, operations2, scoped_ptr<Timi ngFunction>()));
156 curve->addKeyframe(TransformKeyframe::create(1, operations3, scoped_ptr<Timi ngFunction>())); 156 curve->addKeyframe(TransformKeyframe::create(1, operations3, scoped_ptr<Timi ngFunction>()));
157 curve->addKeyframe(TransformKeyframe::create(2, operations4, scoped_ptr<Timi ngFunction>())); 157 curve->addKeyframe(TransformKeyframe::create(2, operations4, scoped_ptr<Timi ngFunction>()));
158 158
159 expectTranslateX(4, curve->getValue(-1)); 159 expectTranslateX(4, curve->getValue(-1));
160 expectTranslateX(4, curve->getValue(0)); 160 expectTranslateX(4, curve->getValue(0));
161 expectTranslateX(4, curve->getValue(0.5)); 161 expectTranslateX(4, curve->getValue(0.5));
162 162
163 // There is a discontinuity at 1. Any value between 4 and 6 is valid. 163 // There is a discontinuity at 1. Any value between 4 and 6 is valid.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 EXPECT_LT(0, curve->getValue(0.25)); 196 EXPECT_LT(0, curve->getValue(0.25));
197 EXPECT_GT(0.25, curve->getValue(0.25)); 197 EXPECT_GT(0.25, curve->getValue(0.25));
198 EXPECT_NEAR(curve->getValue(0.5), 0.5, 0.00015); 198 EXPECT_NEAR(curve->getValue(0.5), 0.5, 0.00015);
199 EXPECT_LT(0.75, curve->getValue(0.75)); 199 EXPECT_LT(0.75, curve->getValue(0.75));
200 EXPECT_GT(1, curve->getValue(0.75)); 200 EXPECT_GT(1, curve->getValue(0.75));
201 EXPECT_FLOAT_EQ(1, curve->getValue(1)); 201 EXPECT_FLOAT_EQ(1, curve->getValue(1));
202 } 202 }
203 203
204 } // namespace 204 } // namespace
205 } // namespace cc 205 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698