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

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

Issue 1318543009: Oilpan: Partially ship Oilpan for core/animations (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 if (toLegacyStyleInterpolation(value.get())->id() == id) 92 if (toLegacyStyleInterpolation(value.get())->id() == id)
93 return value.get(); 93 return value.get();
94 } 94 }
95 return 0; 95 return 0;
96 } 96 }
97 97
98 98
99 TEST(AnimationKeyframeEffectModel, BasicOperation) 99 TEST(AnimationKeyframeEffectModel, BasicOperation)
100 { 100 {
101 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0)); 101 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0));
102 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 102 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
103 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 103 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
104 effect->sample(0, 0.6, duration, values); 104 effect->sample(0, 0.6, duration, values);
105 ASSERT_EQ(1UL, values->size()); 105 ASSERT_EQ(1UL, values->size());
106 expectProperty(CSSPropertyLeft, values->at(0)); 106 expectProperty(CSSPropertyLeft, values->at(0));
107 expectDoubleValue(5.0, values->at(0)); 107 expectDoubleValue(5.0, values->at(0));
108 } 108 }
109 109
110 TEST(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable) 110 TEST(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable)
111 { 111 {
112 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0)); 112 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0));
113 keyframes[0]->setComposite(EffectModel::CompositeReplace); 113 keyframes[0]->setComposite(EffectModel::CompositeReplace);
114 keyframes[1]->setComposite(EffectModel::CompositeReplace); 114 keyframes[1]->setComposite(EffectModel::CompositeReplace);
115 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 115 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
116 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 116 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
117 effect->sample(0, 0.6, duration, values); 117 effect->sample(0, 0.6, duration, values);
118 expectDoubleValue(5.0, values->at(0)); 118 expectDoubleValue(5.0, values->at(0));
119 } 119 }
120 120
121 TEST(AnimationKeyframeEffectModel, CompositeReplace) 121 TEST(AnimationKeyframeEffectModel, CompositeReplace)
122 { 122 {
123 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 123 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0));
124 keyframes[0]->setComposite(EffectModel::CompositeReplace); 124 keyframes[0]->setComposite(EffectModel::CompositeReplace);
125 keyframes[1]->setComposite(EffectModel::CompositeReplace); 125 keyframes[1]->setComposite(EffectModel::CompositeReplace);
126 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 126 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
127 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 127 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
128 effect->sample(0, 0.6, duration, values); 128 effect->sample(0, 0.6, duration, values);
129 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, values->at(0)); 129 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, values->at(0));
130 } 130 }
131 131
132 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 132 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
133 TEST(AnimationKeyframeEffectModel, DISABLED_CompositeAdd) 133 TEST(AnimationKeyframeEffectModel, DISABLED_CompositeAdd)
134 { 134 {
135 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 135 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0));
136 keyframes[0]->setComposite(EffectModel::CompositeAdd); 136 keyframes[0]->setComposite(EffectModel::CompositeAdd);
137 keyframes[1]->setComposite(EffectModel::CompositeAdd); 137 keyframes[1]->setComposite(EffectModel::CompositeAdd);
138 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 138 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
139 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 139 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
140 effect->sample(0, 0.6, duration, values); 140 effect->sample(0, 0.6, duration, values);
141 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); 141 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0));
142 } 142 }
143 143
144 TEST(AnimationKeyframeEffectModel, CompositeEaseIn) 144 TEST(AnimationKeyframeEffectModel, CompositeEaseIn)
145 { 145 {
146 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 146 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0));
147 keyframes[0]->setComposite(EffectModel::CompositeReplace); 147 keyframes[0]->setComposite(EffectModel::CompositeReplace);
148 keyframes[0]->setEasing(CubicBezierTimingFunction::preset(CubicBezierTimingF unction::EaseIn)); 148 keyframes[0]->setEasing(CubicBezierTimingFunction::preset(CubicBezierTimingF unction::EaseIn));
149 keyframes[1]->setComposite(EffectModel::CompositeReplace); 149 keyframes[1]->setComposite(EffectModel::CompositeReplace);
150 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 150 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
151 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 151 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
152 effect->sample(0, 0.6, duration, values); 152 effect->sample(0, 0.6, duration, values);
153 expectDoubleValue(3.8579516, values->at(0)); 153 expectDoubleValue(3.8579516, values->at(0));
154 effect->sample(0, 0.6, duration * 100, values); 154 effect->sample(0, 0.6, duration * 100, values);
155 expectDoubleValue(3.8582394, values->at(0)); 155 expectDoubleValue(3.8582394, values->at(0));
156 } 156 }
157 157
158 TEST(AnimationKeyframeEffectModel, CompositeCubicBezier) 158 TEST(AnimationKeyframeEffectModel, CompositeCubicBezier)
159 { 159 {
160 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 160 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0));
161 keyframes[0]->setComposite(EffectModel::CompositeReplace); 161 keyframes[0]->setComposite(EffectModel::CompositeReplace);
162 keyframes[0]->setEasing(CubicBezierTimingFunction::create(0.42, 0, 0.58, 1)) ; 162 keyframes[0]->setEasing(CubicBezierTimingFunction::create(0.42, 0, 0.58, 1)) ;
163 keyframes[1]->setComposite(EffectModel::CompositeReplace); 163 keyframes[1]->setComposite(EffectModel::CompositeReplace);
164 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 164 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
165 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 165 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
166 effect->sample(0, 0.6, duration, values); 166 effect->sample(0, 0.6, duration, values);
167 expectDoubleValue(4.3363357, values->at(0)); 167 expectDoubleValue(4.3363357, values->at(0));
168 effect->sample(0, 0.6, duration * 1000, values); 168 effect->sample(0, 0.6, duration * 1000, values);
169 expectDoubleValue(4.3362322, values->at(0)); 169 expectDoubleValue(4.3362322, values->at(0));
170 } 170 }
171 171
172 TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable) 172 TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable)
173 { 173 {
174 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0)); 174 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0));
175 keyframes[0]->setComposite(EffectModel::CompositeReplace); 175 keyframes[0]->setComposite(EffectModel::CompositeReplace);
176 keyframes[1]->setComposite(EffectModel::CompositeReplace); 176 keyframes[1]->setComposite(EffectModel::CompositeReplace);
177 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 177 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
178 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 178 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
179 effect->sample(0, 1.6, duration, values); 179 effect->sample(0, 1.6, duration, values);
180 expectDoubleValue(5.0, values->at(0)); 180 expectDoubleValue(5.0, values->at(0));
181 } 181 }
182 182
183 TEST(AnimationKeyframeEffectModel, ExtrapolateReplace) 183 TEST(AnimationKeyframeEffectModel, ExtrapolateReplace)
184 { 184 {
185 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 185 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0));
186 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 186 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
187 keyframes[0]->setComposite(EffectModel::CompositeReplace); 187 keyframes[0]->setComposite(EffectModel::CompositeReplace);
188 keyframes[1]->setComposite(EffectModel::CompositeReplace); 188 keyframes[1]->setComposite(EffectModel::CompositeReplace);
189 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 189 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
190 effect->sample(0, 1.6, duration, values); 190 effect->sample(0, 1.6, duration, values);
191 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, values->at(0)); 191 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, values->at(0));
192 } 192 }
193 193
194 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 194 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
195 TEST(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd) 195 TEST(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd)
196 { 196 {
197 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 197 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0));
198 keyframes[0]->setComposite(EffectModel::CompositeAdd); 198 keyframes[0]->setComposite(EffectModel::CompositeAdd);
199 keyframes[1]->setComposite(EffectModel::CompositeAdd); 199 keyframes[1]->setComposite(EffectModel::CompositeAdd);
200 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 200 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
201 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 201 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
202 effect->sample(0, 1.6, duration, values); 202 effect->sample(0, 1.6, duration, values);
203 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, values->at(0)); 203 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, values->at(0));
204 } 204 }
205 205
206 TEST(AnimationKeyframeEffectModel, ZeroKeyframes) 206 TEST(AnimationKeyframeEffectModel, ZeroKeyframes)
207 { 207 {
208 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(AnimatableValueKeyframeVector()); 208 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(AnimatableValueKeyframeVector());
209 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 209 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
210 effect->sample(0, 0.5, duration, values); 210 effect->sample(0, 0.5, duration, values);
211 EXPECT_TRUE(values->isEmpty()); 211 EXPECT_TRUE(values->isEmpty());
212 } 212 }
213 213
214 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 214 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
215 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero) 215 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero)
216 { 216 {
217 AnimatableValueKeyframeVector keyframes(1); 217 AnimatableValueKeyframeVector keyframes(1);
218 keyframes[0] = AnimatableValueKeyframe::create(); 218 keyframes[0] = AnimatableValueKeyframe::create();
219 keyframes[0]->setOffset(0.0); 219 keyframes[0]->setOffset(0.0);
220 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 220 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
221 221
222 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 222 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
223 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 223 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
224 effect->sample(0, 0.6, duration, values); 224 effect->sample(0, 0.6, duration, values);
225 expectDoubleValue(3.0, values->at(0)); 225 expectDoubleValue(3.0, values->at(0));
226 } 226 }
227 227
228 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 228 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
229 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetOne) 229 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetOne)
230 { 230 {
231 AnimatableValueKeyframeVector keyframes(1); 231 AnimatableValueKeyframeVector keyframes(1);
232 keyframes[0] = AnimatableValueKeyframe::create(); 232 keyframes[0] = AnimatableValueKeyframe::create();
233 keyframes[0]->setOffset(1.0); 233 keyframes[0]->setOffset(1.0);
234 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t()); 234 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t());
235 235
236 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 236 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
237 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 237 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
238 effect->sample(0, 0.6, duration, values); 238 effect->sample(0, 0.6, duration, values);
239 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, values->at(0)); 239 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, values->at(0));
240 } 240 }
241 241
242 TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes) 242 TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes)
243 { 243 {
244 AnimatableValueKeyframeVector keyframes(3); 244 AnimatableValueKeyframeVector keyframes(3);
245 keyframes[0] = AnimatableValueKeyframe::create(); 245 keyframes[0] = AnimatableValueKeyframe::create();
246 keyframes[0]->setOffset(0.0); 246 keyframes[0]->setOffset(0.0);
247 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 247 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
248 keyframes[1] = AnimatableValueKeyframe::create(); 248 keyframes[1] = AnimatableValueKeyframe::create();
249 keyframes[1]->setOffset(0.5); 249 keyframes[1]->setOffset(0.5);
250 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 250 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
251 keyframes[2] = AnimatableValueKeyframe::create(); 251 keyframes[2] = AnimatableValueKeyframe::create();
252 keyframes[2]->setOffset(1.0); 252 keyframes[2]->setOffset(1.0);
253 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 253 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
254 254
255 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 255 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
256 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 256 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
257 effect->sample(0, 0.3, duration, values); 257 effect->sample(0, 0.3, duration, values);
258 expectDoubleValue(4.0, values->at(0)); 258 expectDoubleValue(4.0, values->at(0));
259 effect->sample(0, 0.8, duration, values); 259 effect->sample(0, 0.8, duration, values);
260 expectDoubleValue(5.0, values->at(0)); 260 expectDoubleValue(5.0, values->at(0));
261 } 261 }
262 262
263 TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified) 263 TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified)
264 { 264 {
265 AnimatableValueKeyframeVector keyframes(3); 265 AnimatableValueKeyframeVector keyframes(3);
266 keyframes[0] = AnimatableValueKeyframe::create(); 266 keyframes[0] = AnimatableValueKeyframe::create();
267 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 267 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
268 keyframes[1] = AnimatableValueKeyframe::create(); 268 keyframes[1] = AnimatableValueKeyframe::create();
269 keyframes[1]->setOffset(0.5); 269 keyframes[1]->setOffset(0.5);
270 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 270 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
271 keyframes[2] = AnimatableValueKeyframe::create(); 271 keyframes[2] = AnimatableValueKeyframe::create();
272 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 272 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
273 273
274 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 274 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
275 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 275 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
276 effect->sample(0, 0.1, duration, values); 276 effect->sample(0, 0.1, duration, values);
277 expectDoubleValue(3.0, values->at(0)); 277 expectDoubleValue(3.0, values->at(0));
278 effect->sample(0, 0.6, duration, values); 278 effect->sample(0, 0.6, duration, values);
279 expectDoubleValue(4.0, values->at(0)); 279 expectDoubleValue(4.0, values->at(0));
280 effect->sample(0, 0.9, duration, values); 280 effect->sample(0, 0.9, duration, values);
281 expectDoubleValue(5.0, values->at(0)); 281 expectDoubleValue(5.0, values->at(0));
282 } 282 }
283 283
284 TEST(AnimationKeyframeEffectModel, SampleOnKeyframe) 284 TEST(AnimationKeyframeEffectModel, SampleOnKeyframe)
285 { 285 {
286 AnimatableValueKeyframeVector keyframes(3); 286 AnimatableValueKeyframeVector keyframes(3);
287 keyframes[0] = AnimatableValueKeyframe::create(); 287 keyframes[0] = AnimatableValueKeyframe::create();
288 keyframes[0]->setOffset(0.0); 288 keyframes[0]->setOffset(0.0);
289 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 289 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
290 keyframes[1] = AnimatableValueKeyframe::create(); 290 keyframes[1] = AnimatableValueKeyframe::create();
291 keyframes[1]->setOffset(0.5); 291 keyframes[1]->setOffset(0.5);
292 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 292 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
293 keyframes[2] = AnimatableValueKeyframe::create(); 293 keyframes[2] = AnimatableValueKeyframe::create();
294 keyframes[2]->setOffset(1.0); 294 keyframes[2]->setOffset(1.0);
295 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 295 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
296 296
297 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 297 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
298 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 298 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
299 effect->sample(0, 0.0, duration, values); 299 effect->sample(0, 0.0, duration, values);
300 expectDoubleValue(3.0, values->at(0)); 300 expectDoubleValue(3.0, values->at(0));
301 effect->sample(0, 0.5, duration, values); 301 effect->sample(0, 0.5, duration, values);
302 expectDoubleValue(4.0, values->at(0)); 302 expectDoubleValue(4.0, values->at(0));
303 effect->sample(0, 1.0, duration, values); 303 effect->sample(0, 1.0, duration, values);
304 expectDoubleValue(5.0, values->at(0)); 304 expectDoubleValue(5.0, values->at(0));
305 } 305 }
306 306
307 TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset) 307 TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset)
(...skipping 20 matching lines...) Expand all
328 keyframes[6] = AnimatableValueKeyframe::create(); 328 keyframes[6] = AnimatableValueKeyframe::create();
329 keyframes[6]->setOffset(0.9); 329 keyframes[6]->setOffset(0.9);
330 keyframes[6]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(6.0). get()); 330 keyframes[6]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(6.0). get());
331 keyframes[7] = AnimatableValueKeyframe::create(); 331 keyframes[7] = AnimatableValueKeyframe::create();
332 keyframes[7]->setOffset(0.9); 332 keyframes[7]->setOffset(0.9);
333 keyframes[7]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get()); 333 keyframes[7]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get());
334 keyframes[8] = AnimatableValueKeyframe::create(); 334 keyframes[8] = AnimatableValueKeyframe::create();
335 keyframes[8]->setOffset(1.0); 335 keyframes[8]->setOffset(1.0);
336 keyframes[8]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get()); 336 keyframes[8]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get());
337 337
338 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 338 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
339 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 339 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
340 effect->sample(0, 0.0, duration, values); 340 effect->sample(0, 0.0, duration, values);
341 expectDoubleValue(0.0, values->at(0)); 341 expectDoubleValue(0.0, values->at(0));
342 effect->sample(0, 0.2, duration, values); 342 effect->sample(0, 0.2, duration, values);
343 expectDoubleValue(2.0, values->at(0)); 343 expectDoubleValue(2.0, values->at(0));
344 effect->sample(0, 0.4, duration, values); 344 effect->sample(0, 0.4, duration, values);
345 expectDoubleValue(3.0, values->at(0)); 345 expectDoubleValue(3.0, values->at(0));
346 effect->sample(0, 0.5, duration, values); 346 effect->sample(0, 0.5, duration, values);
347 expectDoubleValue(5.0, values->at(0)); 347 expectDoubleValue(5.0, values->at(0));
348 effect->sample(0, 0.6, duration, values); 348 effect->sample(0, 0.6, duration, values);
349 expectDoubleValue(5.0, values->at(0)); 349 expectDoubleValue(5.0, values->at(0));
350 effect->sample(0, 0.8, duration, values); 350 effect->sample(0, 0.8, duration, values);
351 expectDoubleValue(6.0, values->at(0)); 351 expectDoubleValue(6.0, values->at(0));
352 effect->sample(0, 1.0, duration, values); 352 effect->sample(0, 1.0, duration, values);
353 expectDoubleValue(7.0, values->at(0)); 353 expectDoubleValue(7.0, values->at(0));
354 } 354 }
355 355
356 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 356 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
357 TEST(AnimationKeyframeEffectModel, DISABLED_PerKeyframeComposite) 357 TEST(AnimationKeyframeEffectModel, DISABLED_PerKeyframeComposite)
358 { 358 {
359 AnimatableValueKeyframeVector keyframes(2); 359 AnimatableValueKeyframeVector keyframes(2);
360 keyframes[0] = AnimatableValueKeyframe::create(); 360 keyframes[0] = AnimatableValueKeyframe::create();
361 keyframes[0]->setOffset(0.0); 361 keyframes[0]->setOffset(0.0);
362 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0).ge t()); 362 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0).ge t());
363 keyframes[1] = AnimatableValueKeyframe::create(); 363 keyframes[1] = AnimatableValueKeyframe::create();
364 keyframes[1]->setOffset(1.0); 364 keyframes[1]->setOffset(1.0);
365 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t()); 365 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t());
366 keyframes[1]->setComposite(EffectModel::CompositeAdd); 366 keyframes[1]->setComposite(EffectModel::CompositeAdd);
367 367
368 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 368 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
369 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 369 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
370 effect->sample(0, 0.6, duration, values); 370 effect->sample(0, 0.6, duration, values);
371 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); 371 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, values->at(0));
372 } 372 }
373 373
374 TEST(AnimationKeyframeEffectModel, MultipleProperties) 374 TEST(AnimationKeyframeEffectModel, MultipleProperties)
375 { 375 {
376 AnimatableValueKeyframeVector keyframes(2); 376 AnimatableValueKeyframeVector keyframes(2);
377 keyframes[0] = AnimatableValueKeyframe::create(); 377 keyframes[0] = AnimatableValueKeyframe::create();
378 keyframes[0]->setOffset(0.0); 378 keyframes[0]->setOffset(0.0);
379 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 379 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
380 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0) .get()); 380 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0) .get());
381 keyframes[1] = AnimatableValueKeyframe::create(); 381 keyframes[1] = AnimatableValueKeyframe::create();
382 keyframes[1]->setOffset(1.0); 382 keyframes[1]->setOffset(1.0);
383 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 383 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
384 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0) .get()); 384 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0) .get());
385 385
386 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 386 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
387 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 387 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
388 effect->sample(0, 0.6, duration, values); 388 effect->sample(0, 0.6, duration, values);
389 EXPECT_EQ(2UL, values->size()); 389 EXPECT_EQ(2UL, values->size());
390 Interpolation* leftValue = findValue(*values.get(), CSSPropertyLeft); 390 Interpolation* leftValue = findValue(*values.get(), CSSPropertyLeft);
391 ASSERT_TRUE(leftValue); 391 ASSERT_TRUE(leftValue);
392 expectDoubleValue(5.0, leftValue); 392 expectDoubleValue(5.0, leftValue);
393 Interpolation* rightValue = findValue(*values.get(), CSSPropertyRight); 393 Interpolation* rightValue = findValue(*values.get(), CSSPropertyRight);
394 ASSERT_TRUE(rightValue); 394 ASSERT_TRUE(rightValue);
395 expectDoubleValue(6.0, rightValue); 395 expectDoubleValue(6.0, rightValue);
396 } 396 }
397 397
398 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 398 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
399 TEST(AnimationKeyframeEffectModel, DISABLED_RecompositeCompositableValue) 399 TEST(AnimationKeyframeEffectModel, DISABLED_RecompositeCompositableValue)
400 { 400 {
401 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 401 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0));
402 keyframes[0]->setComposite(EffectModel::CompositeAdd); 402 keyframes[0]->setComposite(EffectModel::CompositeAdd);
403 keyframes[1]->setComposite(EffectModel::CompositeAdd); 403 keyframes[1]->setComposite(EffectModel::CompositeAdd);
404 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 404 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
405 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 405 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
406 effect->sample(0, 0.6, duration, values); 406 effect->sample(0, 0.6, duration, values);
407 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); 407 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0));
408 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->at(0)); 408 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->at(0));
409 } 409 }
410 410
411 TEST(AnimationKeyframeEffectModel, MultipleIterations) 411 TEST(AnimationKeyframeEffectModel, MultipleIterations)
412 { 412 {
413 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(1.0), pixelAnimatableValue(3.0)); 413 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(1.0), pixelAnimatableValue(3.0));
414 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 414 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
415 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 415 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
416 effect->sample(0, 0.5, duration, values); 416 effect->sample(0, 0.5, duration, values);
417 expectDoubleValue(2.0, values->at(0)); 417 expectDoubleValue(2.0, values->at(0));
418 effect->sample(1, 0.5, duration, values); 418 effect->sample(1, 0.5, duration, values);
419 expectDoubleValue(2.0, values->at(0)); 419 expectDoubleValue(2.0, values->at(0));
420 effect->sample(2, 0.5, duration, values); 420 effect->sample(2, 0.5, duration, values);
421 expectDoubleValue(2.0, values->at(0)); 421 expectDoubleValue(2.0, values->at(0));
422 } 422 }
423 423
424 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 424 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
425 TEST(AnimationKeyframeEffectModel, DISABLED_DependsOnUnderlyingValue) 425 TEST(AnimationKeyframeEffectModel, DISABLED_DependsOnUnderlyingValue)
426 { 426 {
427 AnimatableValueKeyframeVector keyframes(3); 427 AnimatableValueKeyframeVector keyframes(3);
428 keyframes[0] = AnimatableValueKeyframe::create(); 428 keyframes[0] = AnimatableValueKeyframe::create();
429 keyframes[0]->setOffset(0.0); 429 keyframes[0]->setOffset(0.0);
430 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t()); 430 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t());
431 keyframes[0]->setComposite(EffectModel::CompositeAdd); 431 keyframes[0]->setComposite(EffectModel::CompositeAdd);
432 keyframes[1] = AnimatableValueKeyframe::create(); 432 keyframes[1] = AnimatableValueKeyframe::create();
433 keyframes[1]->setOffset(0.5); 433 keyframes[1]->setOffset(0.5);
434 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t()); 434 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t());
435 keyframes[2] = AnimatableValueKeyframe::create(); 435 keyframes[2] = AnimatableValueKeyframe::create();
436 keyframes[2]->setOffset(1.0); 436 keyframes[2]->setOffset(1.0);
437 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t()); 437 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t());
438 438
439 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 439 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
440 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr; 440 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation>>> valu es = nullptr;
441 effect->sample(0, 0, duration, values); 441 effect->sample(0, 0, duration, values);
442 EXPECT_TRUE(values->at(0)); 442 EXPECT_TRUE(values->at(0));
443 effect->sample(0, 0.1, duration, values); 443 effect->sample(0, 0.1, duration, values);
444 EXPECT_TRUE(values->at(0)); 444 EXPECT_TRUE(values->at(0));
445 effect->sample(0, 0.25, duration, values); 445 effect->sample(0, 0.25, duration, values);
446 EXPECT_TRUE(values->at(0)); 446 EXPECT_TRUE(values->at(0));
447 effect->sample(0, 0.4, duration, values); 447 effect->sample(0, 0.4, duration, values);
448 EXPECT_TRUE(values->at(0)); 448 EXPECT_TRUE(values->at(0));
449 effect->sample(0, 0.5, duration, values); 449 effect->sample(0, 0.5, duration, values);
450 EXPECT_FALSE(values->at(0)); 450 EXPECT_FALSE(values->at(0));
451 effect->sample(0, 0.6, duration, values); 451 effect->sample(0, 0.6, duration, values);
452 EXPECT_FALSE(values->at(0)); 452 EXPECT_FALSE(values->at(0));
453 effect->sample(0, 0.75, duration, values); 453 effect->sample(0, 0.75, duration, values);
454 EXPECT_FALSE(values->at(0)); 454 EXPECT_FALSE(values->at(0));
455 effect->sample(0, 0.8, duration, values); 455 effect->sample(0, 0.8, duration, values);
456 EXPECT_FALSE(values->at(0)); 456 EXPECT_FALSE(values->at(0));
457 effect->sample(0, 1, duration, values); 457 effect->sample(0, 1, duration, values);
458 EXPECT_FALSE(values->at(0)); 458 EXPECT_FALSE(values->at(0));
459 } 459 }
460 460
461 TEST(AnimationKeyframeEffectModel, AddSyntheticKeyframes) 461 TEST(AnimationKeyframeEffectModel, AddSyntheticKeyframes)
462 { 462 {
463 AnimatableValueKeyframeVector keyframes(1); 463 AnimatableValueKeyframeVector keyframes(1);
464 keyframes[0] = AnimatableValueKeyframe::create(); 464 keyframes[0] = AnimatableValueKeyframe::create();
465 keyframes[0]->setOffset(0.5); 465 keyframes[0]->setOffset(0.5);
466 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 466 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
467 467
468 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 468 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
469 const AnimatableValuePropertySpecificKeyframeVector& propertySpecificKeyfram es = effect->getPropertySpecificKeyframes(PropertyHandle(CSSPropertyLeft)); 469 const AnimatableValuePropertySpecificKeyframeVector& propertySpecificKeyfram es = effect->getPropertySpecificKeyframes(PropertyHandle(CSSPropertyLeft));
470 EXPECT_EQ(3U, propertySpecificKeyframes.size()); 470 EXPECT_EQ(3U, propertySpecificKeyframes.size());
471 EXPECT_DOUBLE_EQ(0.0, propertySpecificKeyframes[0]->offset()); 471 EXPECT_DOUBLE_EQ(0.0, propertySpecificKeyframes[0]->offset());
472 EXPECT_DOUBLE_EQ(0.5, propertySpecificKeyframes[1]->offset()); 472 EXPECT_DOUBLE_EQ(0.5, propertySpecificKeyframes[1]->offset());
473 EXPECT_DOUBLE_EQ(1.0, propertySpecificKeyframes[2]->offset()); 473 EXPECT_DOUBLE_EQ(1.0, propertySpecificKeyframes[2]->offset());
474 } 474 }
475 475
476 TEST(AnimationKeyframeEffectModel, ToKeyframeEffectModel) 476 TEST(AnimationKeyframeEffectModel, ToKeyframeEffectModel)
477 { 477 {
478 AnimatableValueKeyframeVector keyframes(0); 478 AnimatableValueKeyframeVector keyframes(0);
479 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 479 AnimatableValueKeyframeEffectModel* effect = AnimatableValueKeyframeEffectMo del::create(keyframes);
480 480
481 EffectModel* baseEffect = effect.get(); 481 EffectModel* baseEffect = effect;
482 EXPECT_TRUE(toAnimatableValueKeyframeEffectModel(baseEffect)); 482 EXPECT_TRUE(toAnimatableValueKeyframeEffectModel(baseEffect));
483 } 483 }
484 484
485 } // namespace 485 } // namespace
486 486
487 namespace blink { 487 namespace blink {
488 488
489 class KeyframeEffectModelTest : public ::testing::Test { 489 class KeyframeEffectModelTest : public ::testing::Test {
490 public: 490 public:
491 static KeyframeVector normalizedKeyframes(const KeyframeVector& keyframes) 491 static KeyframeVector normalizedKeyframes(const KeyframeVector& keyframes)
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 EXPECT_DOUBLE_EQ(0.6, result[5]->offset()); 564 EXPECT_DOUBLE_EQ(0.6, result[5]->offset());
565 EXPECT_DOUBLE_EQ(0.7, result[6]->offset()); 565 EXPECT_DOUBLE_EQ(0.7, result[6]->offset());
566 EXPECT_DOUBLE_EQ(0.8, result[7]->offset()); 566 EXPECT_DOUBLE_EQ(0.8, result[7]->offset());
567 EXPECT_DOUBLE_EQ(0.85, result[8]->offset()); 567 EXPECT_DOUBLE_EQ(0.85, result[8]->offset());
568 EXPECT_DOUBLE_EQ(0.9, result[9]->offset()); 568 EXPECT_DOUBLE_EQ(0.9, result[9]->offset());
569 EXPECT_DOUBLE_EQ(0.95, result[10]->offset()); 569 EXPECT_DOUBLE_EQ(0.95, result[10]->offset());
570 EXPECT_DOUBLE_EQ(1.0, result[11]->offset()); 570 EXPECT_DOUBLE_EQ(1.0, result[11]->offset());
571 } 571 }
572 572
573 } // namespace blink 573 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/animation/KeyframeEffectModel.h ('k') | Source/core/animation/KeyframeEffectTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698