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

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

Issue 216603008: Revert "Web Animations: Introduce String based KeyframeEffectModel" (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 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
« no previous file with comments | « Source/core/animation/KeyframeEffectModel.cpp ('k') | Source/core/animation/StringKeyframe.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 PassRefPtrWillBeRawPtr<AnimatableValue> unknownAnimatableValue(double n) 47 PassRefPtrWillBeRawPtr<AnimatableValue> unknownAnimatableValue(double n)
48 { 48 {
49 return AnimatableUnknown::create(CSSPrimitiveValue::create(n, CSSPrimitiveVa lue::CSS_UNKNOWN).get()); 49 return AnimatableUnknown::create(CSSPrimitiveValue::create(n, CSSPrimitiveVa lue::CSS_UNKNOWN).get());
50 } 50 }
51 51
52 PassRefPtrWillBeRawPtr<AnimatableValue> pixelAnimatableValue(double n) 52 PassRefPtrWillBeRawPtr<AnimatableValue> pixelAnimatableValue(double n)
53 { 53 {
54 return AnimatableLength::create(CSSPrimitiveValue::create(n, CSSPrimitiveVal ue::CSS_PX).get()); 54 return AnimatableLength::create(CSSPrimitiveValue::create(n, CSSPrimitiveVal ue::CSS_PX).get());
55 } 55 }
56 56
57 AnimatableValueKeyframeVector keyframesAtZeroAndOne(PassRefPtrWillBeRawPtr<Anima tableValue> zeroValue, PassRefPtrWillBeRawPtr<AnimatableValue> oneValue) 57 KeyframeEffectModel::KeyframeVector keyframesAtZeroAndOne(PassRefPtrWillBeRawPtr <AnimatableValue> zeroValue, PassRefPtrWillBeRawPtr<AnimatableValue> oneValue)
58 { 58 {
59 AnimatableValueKeyframeVector keyframes(2); 59 KeyframeEffectModel::KeyframeVector keyframes(2);
60 keyframes[0] = AnimatableValueKeyframe::create(); 60 keyframes[0] = Keyframe::create();
61 keyframes[0]->setOffset(0.0); 61 keyframes[0]->setOffset(0.0);
62 keyframes[0]->setPropertyValue(CSSPropertyLeft, zeroValue.get()); 62 keyframes[0]->setPropertyValue(CSSPropertyLeft, zeroValue.get());
63 keyframes[1] = AnimatableValueKeyframe::create(); 63 keyframes[1] = Keyframe::create();
64 keyframes[1]->setOffset(1.0); 64 keyframes[1]->setOffset(1.0);
65 keyframes[1]->setPropertyValue(CSSPropertyLeft, oneValue.get()); 65 keyframes[1]->setPropertyValue(CSSPropertyLeft, oneValue.get());
66 return keyframes; 66 return keyframes;
67 } 67 }
68 68
69 void expectProperty(CSSPropertyID property, PassRefPtrWillBeRawPtr<Interpolation > interpolationValue) 69 void expectProperty(CSSPropertyID property, PassRefPtrWillBeRawPtr<Interpolation > interpolationValue)
70 { 70 {
71 LegacyStyleInterpolation* interpolation = toLegacyStyleInterpolation(interpo lationValue.get()); 71 LegacyStyleInterpolation* interpolation = toLegacyStyleInterpolation(interpo lationValue.get());
72 ASSERT_EQ(property, interpolation->id()); 72 ASSERT_EQ(property, interpolation->id());
73 } 73 }
(...skipping 20 matching lines...) Expand all
94 LegacyStyleInterpolation* value = toLegacyStyleInterpolation(values.at(i ).get()); 94 LegacyStyleInterpolation* value = toLegacyStyleInterpolation(values.at(i ).get());
95 if (value->id() == id) 95 if (value->id() == id)
96 return value; 96 return value;
97 } 97 }
98 return 0; 98 return 0;
99 } 99 }
100 100
101 101
102 TEST(AnimationKeyframeEffectModel, BasicOperation) 102 TEST(AnimationKeyframeEffectModel, BasicOperation)
103 { 103 {
104 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0)); 104 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(unknow nAnimatableValue(3.0), unknownAnimatableValue(5.0));
105 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 105 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
106 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtr<Interpolation> > > values = effec t->sample(0, 0.6, duration); 106 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va lues = effect->sample(0, 0.6, duration);
107 ASSERT_EQ(1UL, values->size()); 107 ASSERT_EQ(1UL, values->size());
108 expectProperty(CSSPropertyLeft, values->at(0)); 108 expectProperty(CSSPropertyLeft, values->at(0));
109 expectDoubleValue(5.0, values->at(0)); 109 expectDoubleValue(5.0, values->at(0));
110 } 110 }
111 111
112 TEST(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable) 112 TEST(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable)
113 { 113 {
114 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0)); 114 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(unknow nAnimatableValue(3.0), unknownAnimatableValue(5.0));
115 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); 115 keyframes[0]->setComposite(AnimationEffect::CompositeReplace);
116 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); 116 keyframes[1]->setComposite(AnimationEffect::CompositeReplace);
117 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 117 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
118 expectDoubleValue(5.0, effect->sample(0, 0.6, duration)->at(0)); 118 expectDoubleValue(5.0, effect->sample(0, 0.6, duration)->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 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(3.0), pixelAnimatableValue(5.0));
124 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); 124 keyframes[0]->setComposite(AnimationEffect::CompositeReplace);
125 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); 125 keyframes[1]->setComposite(AnimationEffect::CompositeReplace);
126 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 126 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
127 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6, duration)->a t(0)); 127 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6, duration)->a t(0));
128 } 128 }
129 129
130 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 130 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
131 TEST(AnimationKeyframeEffectModel, DISABLED_CompositeAdd) 131 TEST(AnimationKeyframeEffectModel, DISABLED_CompositeAdd)
132 { 132 {
133 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 133 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(3.0), pixelAnimatableValue(5.0));
134 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); 134 keyframes[0]->setComposite(AnimationEffect::CompositeAdd);
135 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); 135 keyframes[1]->setComposite(AnimationEffect::CompositeAdd);
136 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 136 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
137 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0 .6, duration)->at(0)); 137 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0 .6, duration)->at(0));
138 } 138 }
139 139
140 TEST(AnimationKeyframeEffectModel, CompositeEaseIn) 140 TEST(AnimationKeyframeEffectModel, CompositeEaseIn)
141 { 141 {
142 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 142 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(3.0), pixelAnimatableValue(5.0));
143 RefPtrWillBeRawPtr<CSSValue> timingFunction = BisonCSSParser::parseAnimation TimingFunctionValue("ease-in"); 143 RefPtrWillBeRawPtr<CSSValue> timingFunction = BisonCSSParser::parseAnimation TimingFunctionValue("ease-in");
144 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); 144 keyframes[0]->setComposite(AnimationEffect::CompositeReplace);
145 keyframes[0]->setEasing(CSSToStyleMap::animationTimingFunction(timingFunctio n.get(), false)); 145 keyframes[0]->setEasing(CSSToStyleMap::animationTimingFunction(timingFunctio n.get(), false));
146 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); 146 keyframes[1]->setComposite(AnimationEffect::CompositeReplace);
147 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 147 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
148 expectDoubleValue(3.8579516, effect->sample(0, 0.6, duration)->at(0)); 148 expectDoubleValue(3.8579516, effect->sample(0, 0.6, duration)->at(0));
149 expectDoubleValue(3.8582394, effect->sample(0, 0.6, duration * 100)->at(0)); 149 expectDoubleValue(3.8582394, effect->sample(0, 0.6, duration * 100)->at(0));
150 } 150 }
151 151
152 TEST(AnimationKeyframeEffectModel, CompositeCubicBezier) 152 TEST(AnimationKeyframeEffectModel, CompositeCubicBezier)
153 { 153 {
154 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 154 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(3.0), pixelAnimatableValue(5.0));
155 RefPtrWillBeRawPtr<CSSValue> timingFunction = BisonCSSParser::parseAnimation TimingFunctionValue("cubic-bezier(0.42, 0, 0.58, 1)"); 155 RefPtrWillBeRawPtr<CSSValue> timingFunction = BisonCSSParser::parseAnimation TimingFunctionValue("cubic-bezier(0.42, 0, 0.58, 1)");
156 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); 156 keyframes[0]->setComposite(AnimationEffect::CompositeReplace);
157 keyframes[0]->setEasing(CSSToStyleMap::animationTimingFunction(timingFunctio n.get(), false)); 157 keyframes[0]->setEasing(CSSToStyleMap::animationTimingFunction(timingFunctio n.get(), false));
158 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); 158 keyframes[1]->setComposite(AnimationEffect::CompositeReplace);
159 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 159 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
160 expectDoubleValue(4.3363357, effect->sample(0, 0.6, duration)->at(0)); 160 expectDoubleValue(4.3363357, effect->sample(0, 0.6, duration)->at(0));
161 expectDoubleValue(4.3362322, effect->sample(0, 0.6, duration * 1000)->at(0)) ; 161 expectDoubleValue(4.3362322, effect->sample(0, 0.6, duration * 1000)->at(0)) ;
162 } 162 }
163 163
164 TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable) 164 TEST(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable)
165 { 165 {
166 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(unknownAnima tableValue(3.0), unknownAnimatableValue(5.0)); 166 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(unknow nAnimatableValue(3.0), unknownAnimatableValue(5.0));
167 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); 167 keyframes[0]->setComposite(AnimationEffect::CompositeReplace);
168 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); 168 keyframes[1]->setComposite(AnimationEffect::CompositeReplace);
169 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 169 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
170 expectDoubleValue(5.0, effect->sample(0, 1.6, duration)->at(0)); 170 expectDoubleValue(5.0, effect->sample(0, 1.6, duration)->at(0));
171 } 171 }
172 172
173 TEST(AnimationKeyframeEffectModel, ExtrapolateReplace) 173 TEST(AnimationKeyframeEffectModel, ExtrapolateReplace)
174 { 174 {
175 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 175 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(3.0), pixelAnimatableValue(5.0));
176 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 176 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
177 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); 177 keyframes[0]->setComposite(AnimationEffect::CompositeReplace);
178 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); 178 keyframes[1]->setComposite(AnimationEffect::CompositeReplace);
179 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, effect->sample(0, 1.6, duration)-> at(0)); 179 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, effect->sample(0, 1.6, duration)-> at(0));
180 } 180 }
181 181
182 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 182 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
183 TEST(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd) 183 TEST(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd)
184 { 184 {
185 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 185 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(3.0), pixelAnimatableValue(5.0));
186 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); 186 keyframes[0]->setComposite(AnimationEffect::CompositeAdd);
187 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); 187 keyframes[1]->setComposite(AnimationEffect::CompositeAdd);
188 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 188 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
189 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, effect->sample(0, 1.6, duration)->at(0)); 189 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, effect->sample(0, 1.6, duration)->at(0));
190 } 190 }
191 191
192 TEST(AnimationKeyframeEffectModel, ZeroKeyframes) 192 TEST(AnimationKeyframeEffectModel, ZeroKeyframes)
193 { 193 {
194 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(AnimatableValueKeyframeVector()); 194 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (KeyframeEffectModel::KeyframeVector());
195 EXPECT_TRUE(effect->sample(0, 0.5, duration)->isEmpty()); 195 EXPECT_TRUE(effect->sample(0, 0.5, duration)->isEmpty());
196 } 196 }
197 197
198 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 198 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
199 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero) 199 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero)
200 { 200 {
201 AnimatableValueKeyframeVector keyframes(1); 201 KeyframeEffectModel::KeyframeVector keyframes(1);
202 keyframes[0] = AnimatableValueKeyframe::create(); 202 keyframes[0] = Keyframe::create();
203 keyframes[0]->setOffset(0.0); 203 keyframes[0]->setOffset(0.0);
204 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 204 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
205 205
206 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 206 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
207 expectDoubleValue(3.0, effect->sample(0, 0.6, duration)->at(0)); 207 expectDoubleValue(3.0, effect->sample(0, 0.6, duration)->at(0));
208 } 208 }
209 209
210 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 210 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
211 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetOne) 211 TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetOne)
212 { 212 {
213 AnimatableValueKeyframeVector keyframes(1); 213 KeyframeEffectModel::KeyframeVector keyframes(1);
214 keyframes[0] = AnimatableValueKeyframe::create(); 214 keyframes[0] = Keyframe::create();
215 keyframes[0]->setOffset(1.0); 215 keyframes[0]->setOffset(1.0);
216 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t()); 216 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t());
217 217
218 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 218 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
219 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6, duration)->a t(0)); 219 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6, duration)->a t(0));
220 } 220 }
221 221
222 TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes) 222 TEST(AnimationKeyframeEffectModel, MoreThanTwoKeyframes)
223 { 223 {
224 AnimatableValueKeyframeVector keyframes(3); 224 KeyframeEffectModel::KeyframeVector keyframes(3);
225 keyframes[0] = AnimatableValueKeyframe::create(); 225 keyframes[0] = Keyframe::create();
226 keyframes[0]->setOffset(0.0); 226 keyframes[0]->setOffset(0.0);
227 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 227 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
228 keyframes[1] = AnimatableValueKeyframe::create(); 228 keyframes[1] = Keyframe::create();
229 keyframes[1]->setOffset(0.5); 229 keyframes[1]->setOffset(0.5);
230 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 230 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
231 keyframes[2] = AnimatableValueKeyframe::create(); 231 keyframes[2] = Keyframe::create();
232 keyframes[2]->setOffset(1.0); 232 keyframes[2]->setOffset(1.0);
233 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 233 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
234 234
235 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 235 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
236 expectDoubleValue(4.0, effect->sample(0, 0.3, duration)->at(0)); 236 expectDoubleValue(4.0, effect->sample(0, 0.3, duration)->at(0));
237 expectDoubleValue(5.0, effect->sample(0, 0.8, duration)->at(0)); 237 expectDoubleValue(5.0, effect->sample(0, 0.8, duration)->at(0));
238 } 238 }
239 239
240 TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified) 240 TEST(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified)
241 { 241 {
242 AnimatableValueKeyframeVector keyframes(3); 242 KeyframeEffectModel::KeyframeVector keyframes(3);
243 keyframes[0] = AnimatableValueKeyframe::create(); 243 keyframes[0] = Keyframe::create();
244 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 244 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
245 keyframes[1] = AnimatableValueKeyframe::create(); 245 keyframes[1] = Keyframe::create();
246 keyframes[1]->setOffset(0.5); 246 keyframes[1]->setOffset(0.5);
247 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 247 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
248 keyframes[2] = AnimatableValueKeyframe::create(); 248 keyframes[2] = Keyframe::create();
249 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 249 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
250 250
251 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 251 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
252 expectDoubleValue(3.0, effect->sample(0, 0.1, duration)->at(0)); 252 expectDoubleValue(3.0, effect->sample(0, 0.1, duration)->at(0));
253 expectDoubleValue(4.0, effect->sample(0, 0.6, duration)->at(0)); 253 expectDoubleValue(4.0, effect->sample(0, 0.6, duration)->at(0));
254 expectDoubleValue(5.0, effect->sample(0, 0.9, duration)->at(0)); 254 expectDoubleValue(5.0, effect->sample(0, 0.9, duration)->at(0));
255 } 255 }
256 256
257 TEST(AnimationKeyframeEffectModel, SampleOnKeyframe) 257 TEST(AnimationKeyframeEffectModel, SampleOnKeyframe)
258 { 258 {
259 AnimatableValueKeyframeVector keyframes(3); 259 KeyframeEffectModel::KeyframeVector keyframes(3);
260 keyframes[0] = AnimatableValueKeyframe::create(); 260 keyframes[0] = Keyframe::create();
261 keyframes[0]->setOffset(0.0); 261 keyframes[0]->setOffset(0.0);
262 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 262 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
263 keyframes[1] = AnimatableValueKeyframe::create(); 263 keyframes[1] = Keyframe::create();
264 keyframes[1]->setOffset(0.5); 264 keyframes[1]->setOffset(0.5);
265 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 265 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
266 keyframes[2] = AnimatableValueKeyframe::create(); 266 keyframes[2] = Keyframe::create();
267 keyframes[2]->setOffset(1.0); 267 keyframes[2]->setOffset(1.0);
268 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 268 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
269 269
270 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 270 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
271 expectDoubleValue(3.0, effect->sample(0, 0.0, duration)->at(0)); 271 expectDoubleValue(3.0, effect->sample(0, 0.0, duration)->at(0));
272 expectDoubleValue(4.0, effect->sample(0, 0.5, duration)->at(0)); 272 expectDoubleValue(4.0, effect->sample(0, 0.5, duration)->at(0));
273 expectDoubleValue(5.0, effect->sample(0, 1.0, duration)->at(0)); 273 expectDoubleValue(5.0, effect->sample(0, 1.0, duration)->at(0));
274 } 274 }
275 275
276 TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset) 276 TEST(AnimationKeyframeEffectModel, MultipleKeyframesWithSameOffset)
277 { 277 {
278 AnimatableValueKeyframeVector keyframes(9); 278 KeyframeEffectModel::KeyframeVector keyframes(9);
279 keyframes[0] = AnimatableValueKeyframe::create(); 279 keyframes[0] = Keyframe::create();
280 keyframes[0]->setOffset(0.0); 280 keyframes[0]->setOffset(0.0);
281 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(0.0). get()); 281 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(0.0). get());
282 keyframes[1] = AnimatableValueKeyframe::create(); 282 keyframes[1] = Keyframe::create();
283 keyframes[1]->setOffset(0.1); 283 keyframes[1]->setOffset(0.1);
284 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(1.0). get()); 284 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(1.0). get());
285 keyframes[2] = AnimatableValueKeyframe::create(); 285 keyframes[2] = Keyframe::create();
286 keyframes[2]->setOffset(0.1); 286 keyframes[2]->setOffset(0.1);
287 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(2.0). get()); 287 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(2.0). get());
288 keyframes[3] = AnimatableValueKeyframe::create(); 288 keyframes[3] = Keyframe::create();
289 keyframes[3]->setOffset(0.5); 289 keyframes[3]->setOffset(0.5);
290 keyframes[3]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 290 keyframes[3]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
291 keyframes[4] = AnimatableValueKeyframe::create(); 291 keyframes[4] = Keyframe::create();
292 keyframes[4]->setOffset(0.5); 292 keyframes[4]->setOffset(0.5);
293 keyframes[4]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 293 keyframes[4]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
294 keyframes[5] = AnimatableValueKeyframe::create(); 294 keyframes[5] = Keyframe::create();
295 keyframes[5]->setOffset(0.5); 295 keyframes[5]->setOffset(0.5);
296 keyframes[5]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 296 keyframes[5]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
297 keyframes[6] = AnimatableValueKeyframe::create(); 297 keyframes[6] = Keyframe::create();
298 keyframes[6]->setOffset(0.9); 298 keyframes[6]->setOffset(0.9);
299 keyframes[6]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(6.0). get()); 299 keyframes[6]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(6.0). get());
300 keyframes[7] = AnimatableValueKeyframe::create(); 300 keyframes[7] = Keyframe::create();
301 keyframes[7]->setOffset(0.9); 301 keyframes[7]->setOffset(0.9);
302 keyframes[7]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get()); 302 keyframes[7]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get());
303 keyframes[8] = AnimatableValueKeyframe::create(); 303 keyframes[8] = Keyframe::create();
304 keyframes[8]->setOffset(1.0); 304 keyframes[8]->setOffset(1.0);
305 keyframes[8]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get()); 305 keyframes[8]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(7.0). get());
306 306
307 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 307 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
308 expectDoubleValue(0.0, effect->sample(0, 0.0, duration)->at(0)); 308 expectDoubleValue(0.0, effect->sample(0, 0.0, duration)->at(0));
309 expectDoubleValue(2.0, effect->sample(0, 0.2, duration)->at(0)); 309 expectDoubleValue(2.0, effect->sample(0, 0.2, duration)->at(0));
310 expectDoubleValue(3.0, effect->sample(0, 0.4, duration)->at(0)); 310 expectDoubleValue(3.0, effect->sample(0, 0.4, duration)->at(0));
311 expectDoubleValue(5.0, effect->sample(0, 0.5, duration)->at(0)); 311 expectDoubleValue(5.0, effect->sample(0, 0.5, duration)->at(0));
312 expectDoubleValue(5.0, effect->sample(0, 0.6, duration)->at(0)); 312 expectDoubleValue(5.0, effect->sample(0, 0.6, duration)->at(0));
313 expectDoubleValue(6.0, effect->sample(0, 0.8, duration)->at(0)); 313 expectDoubleValue(6.0, effect->sample(0, 0.8, duration)->at(0));
314 expectDoubleValue(7.0, effect->sample(0, 1.0, duration)->at(0)); 314 expectDoubleValue(7.0, effect->sample(0, 1.0, duration)->at(0));
315 } 315 }
316 316
317 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 317 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
318 TEST(AnimationKeyframeEffectModel, DISABLED_PerKeyframeComposite) 318 TEST(AnimationKeyframeEffectModel, DISABLED_PerKeyframeComposite)
319 { 319 {
320 AnimatableValueKeyframeVector keyframes(2); 320 KeyframeEffectModel::KeyframeVector keyframes(2);
321 keyframes[0] = AnimatableValueKeyframe::create(); 321 keyframes[0] = Keyframe::create();
322 keyframes[0]->setOffset(0.0); 322 keyframes[0]->setOffset(0.0);
323 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0).ge t()); 323 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0).ge t());
324 keyframes[1] = AnimatableValueKeyframe::create(); 324 keyframes[1] = Keyframe::create();
325 keyframes[1]->setOffset(1.0); 325 keyframes[1]->setOffset(1.0);
326 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t()); 326 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0).ge t());
327 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); 327 keyframes[1]->setComposite(AnimationEffect::CompositeAdd);
328 328
329 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 329 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
330 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6, dura tion)->at(0)); 330 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6, dura tion)->at(0));
331 } 331 }
332 332
333 TEST(AnimationKeyframeEffectModel, MultipleProperties) 333 TEST(AnimationKeyframeEffectModel, MultipleProperties)
334 { 334 {
335 AnimatableValueKeyframeVector keyframes(2); 335 KeyframeEffectModel::KeyframeVector keyframes(2);
336 keyframes[0] = AnimatableValueKeyframe::create(); 336 keyframes[0] = Keyframe::create();
337 keyframes[0]->setOffset(0.0); 337 keyframes[0]->setOffset(0.0);
338 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get()); 338 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0). get());
339 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0) .get()); 339 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0) .get());
340 keyframes[1] = AnimatableValueKeyframe::create(); 340 keyframes[1] = Keyframe::create();
341 keyframes[1]->setOffset(1.0); 341 keyframes[1]->setOffset(1.0);
342 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get()); 342 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0). get());
343 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0) .get()); 343 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0) .get());
344 344
345 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 345 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
346 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va lues = effect->sample(0, 0.6, duration); 346 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va lues = effect->sample(0, 0.6, duration);
347 EXPECT_EQ(2UL, values->size()); 347 EXPECT_EQ(2UL, values->size());
348 Interpolation* leftValue = findValue(*values.get(), CSSPropertyLeft); 348 Interpolation* leftValue = findValue(*values.get(), CSSPropertyLeft);
349 ASSERT_TRUE(leftValue); 349 ASSERT_TRUE(leftValue);
350 expectDoubleValue(5.0, leftValue); 350 expectDoubleValue(5.0, leftValue);
351 Interpolation* rightValue = findValue(*values.get(), CSSPropertyRight); 351 Interpolation* rightValue = findValue(*values.get(), CSSPropertyRight);
352 ASSERT_TRUE(rightValue); 352 ASSERT_TRUE(rightValue);
353 expectDoubleValue(6.0, rightValue); 353 expectDoubleValue(6.0, rightValue);
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_RecompositeCompositableValue) 357 TEST(AnimationKeyframeEffectModel, DISABLED_RecompositeCompositableValue)
358 { 358 {
359 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(3.0), pixelAnimatableValue(5.0)); 359 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(3.0), pixelAnimatableValue(5.0));
360 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); 360 keyframes[0]->setComposite(AnimationEffect::CompositeAdd);
361 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); 361 keyframes[1]->setComposite(AnimationEffect::CompositeAdd);
362 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 362 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
363 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va lues = effect->sample(0, 0.6, duration); 363 OwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > va lues = effect->sample(0, 0.6, duration);
364 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0)); 364 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->at(0));
365 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->at(0)); 365 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->at(0));
366 } 366 }
367 367
368 TEST(AnimationKeyframeEffectModel, MultipleIterations) 368 TEST(AnimationKeyframeEffectModel, MultipleIterations)
369 { 369 {
370 AnimatableValueKeyframeVector keyframes = keyframesAtZeroAndOne(pixelAnimata bleValue(1.0), pixelAnimatableValue(3.0)); 370 KeyframeEffectModel::KeyframeVector keyframes = keyframesAtZeroAndOne(pixelA nimatableValue(1.0), pixelAnimatableValue(3.0));
371 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 371 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
372 expectDoubleValue(2.0, effect->sample(0, 0.5, duration)->at(0)); 372 expectDoubleValue(2.0, effect->sample(0, 0.5, duration)->at(0));
373 expectDoubleValue(2.0, effect->sample(1, 0.5, duration)->at(0)); 373 expectDoubleValue(2.0, effect->sample(1, 0.5, duration)->at(0));
374 expectDoubleValue(2.0, effect->sample(2, 0.5, duration)->at(0)); 374 expectDoubleValue(2.0, effect->sample(2, 0.5, duration)->at(0));
375 } 375 }
376 376
377 // FIXME: Re-enable this test once compositing of CompositeAdd is supported. 377 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
378 TEST(AnimationKeyframeEffectModel, DISABLED_DependsOnUnderlyingValue) 378 TEST(AnimationKeyframeEffectModel, DISABLED_DependsOnUnderlyingValue)
379 { 379 {
380 AnimatableValueKeyframeVector keyframes(3); 380 KeyframeEffectModel::KeyframeVector keyframes(3);
381 keyframes[0] = AnimatableValueKeyframe::create(); 381 keyframes[0] = Keyframe::create();
382 keyframes[0]->setOffset(0.0); 382 keyframes[0]->setOffset(0.0);
383 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t()); 383 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t());
384 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); 384 keyframes[0]->setComposite(AnimationEffect::CompositeAdd);
385 keyframes[1] = AnimatableValueKeyframe::create(); 385 keyframes[1] = Keyframe::create();
386 keyframes[1]->setOffset(0.5); 386 keyframes[1]->setOffset(0.5);
387 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t()); 387 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t());
388 keyframes[2] = AnimatableValueKeyframe::create(); 388 keyframes[2] = Keyframe::create();
389 keyframes[2]->setOffset(1.0); 389 keyframes[2]->setOffset(1.0);
390 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t()); 390 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0).ge t());
391 391
392 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 392 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
393 EXPECT_TRUE(effect->sample(0, 0, duration)->at(0)); 393 EXPECT_TRUE(effect->sample(0, 0, duration)->at(0));
394 EXPECT_TRUE(effect->sample(0, 0.1, duration)->at(0)); 394 EXPECT_TRUE(effect->sample(0, 0.1, duration)->at(0));
395 EXPECT_TRUE(effect->sample(0, 0.25, duration)->at(0)); 395 EXPECT_TRUE(effect->sample(0, 0.25, duration)->at(0));
396 EXPECT_TRUE(effect->sample(0, 0.4, duration)->at(0)); 396 EXPECT_TRUE(effect->sample(0, 0.4, duration)->at(0));
397 EXPECT_FALSE(effect->sample(0, 0.5, duration)->at(0)); 397 EXPECT_FALSE(effect->sample(0, 0.5, duration)->at(0));
398 EXPECT_FALSE(effect->sample(0, 0.6, duration)->at(0)); 398 EXPECT_FALSE(effect->sample(0, 0.6, duration)->at(0));
399 EXPECT_FALSE(effect->sample(0, 0.75, duration)->at(0)); 399 EXPECT_FALSE(effect->sample(0, 0.75, duration)->at(0));
400 EXPECT_FALSE(effect->sample(0, 0.8, duration)->at(0)); 400 EXPECT_FALSE(effect->sample(0, 0.8, duration)->at(0));
401 EXPECT_FALSE(effect->sample(0, 1, duration)->at(0)); 401 EXPECT_FALSE(effect->sample(0, 1, duration)->at(0));
402 } 402 }
403 403
404 TEST(AnimationKeyframeEffectModel, AddSyntheticKeyframes) 404 TEST(AnimationKeyframeEffectModel, AddSyntheticKeyframes)
405 { 405 {
406 AnimatableValueKeyframeVector keyframes(1); 406 KeyframeEffectModel::KeyframeVector keyframes(1);
407 keyframes[0] = AnimatableValueKeyframe::create(); 407 keyframes[0] = Keyframe::create();
408 keyframes[0]->setOffset(0.5); 408 keyframes[0]->setOffset(0.5);
409 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get()); 409 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0). get());
410 410
411 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 411 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
412 const AnimatableValuePropertySpecificKeyframeVector& propertySpecificKeyfram es = effect->getPropertySpecificKeyframes(CSSPropertyLeft); 412 const KeyframeEffectModel::PropertySpecificKeyframeVector& propertySpecificK eyframes = effect->getPropertySpecificKeyframes(CSSPropertyLeft);
413 EXPECT_EQ(3U, propertySpecificKeyframes.size()); 413 EXPECT_EQ(3U, propertySpecificKeyframes.size());
414 EXPECT_DOUBLE_EQ(0.0, propertySpecificKeyframes[0]->offset()); 414 EXPECT_DOUBLE_EQ(0.0, propertySpecificKeyframes[0]->offset());
415 EXPECT_DOUBLE_EQ(0.5, propertySpecificKeyframes[1]->offset()); 415 EXPECT_DOUBLE_EQ(0.5, propertySpecificKeyframes[1]->offset());
416 EXPECT_DOUBLE_EQ(1.0, propertySpecificKeyframes[2]->offset()); 416 EXPECT_DOUBLE_EQ(1.0, propertySpecificKeyframes[2]->offset());
417 } 417 }
418 418
419 TEST(AnimationKeyframeEffectModel, ToKeyframeEffectModel) 419 TEST(AnimationKeyframeEffectModel, ToKeyframeEffectModel)
420 { 420 {
421 AnimatableValueKeyframeVector keyframes(0); 421 KeyframeEffectModel::KeyframeVector keyframes(0);
422 RefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> effect = AnimatableVa lueKeyframeEffectModel::create(keyframes); 422 RefPtrWillBeRawPtr<KeyframeEffectModel> effect = KeyframeEffectModel::create (keyframes);
423 423
424 AnimationEffect* baseEffect = effect.get(); 424 AnimationEffect* baseEffect = effect.get();
425 EXPECT_TRUE(toAnimatableValueKeyframeEffectModel(baseEffect)); 425 EXPECT_TRUE(toKeyframeEffectModel(baseEffect));
426 } 426 }
427 427
428 } // namespace 428 } // namespace
429 429
430 namespace WebCore { 430 namespace WebCore {
431 431
432 class KeyframeEffectModelTest : public ::testing::Test { 432 class KeyframeEffectModelTest : public ::testing::Test {
433 public: 433 public:
434 typedef KeyframeEffectModel::KeyframeVector KeyframeVector;
435
434 static KeyframeVector normalizedKeyframes(const KeyframeVector& keyframes) 436 static KeyframeVector normalizedKeyframes(const KeyframeVector& keyframes)
435 { 437 {
436 return KeyframeEffectModelBase::normalizedKeyframes(keyframes); 438 return KeyframeEffectModel::normalizedKeyframes(keyframes);
437 } 439 }
438 }; 440 };
439 441
440 TEST_F(KeyframeEffectModelTest, NotLooselySorted) 442 TEST_F(KeyframeEffectModelTest, NotLooselySorted)
441 { 443 {
442 KeyframeVector keyframes(4); 444 KeyframeEffectModel::KeyframeVector keyframes(4);
443 keyframes[0] = AnimatableValueKeyframe::create(); 445 keyframes[0] = Keyframe::create();
444 keyframes[1] = AnimatableValueKeyframe::create(); 446 keyframes[1] = Keyframe::create();
445 keyframes[1]->setOffset(9); 447 keyframes[1]->setOffset(9);
446 keyframes[2] = AnimatableValueKeyframe::create(); 448 keyframes[2] = Keyframe::create();
447 keyframes[3] = AnimatableValueKeyframe::create(); 449 keyframes[3] = Keyframe::create();
448 keyframes[3]->setOffset(1); 450 keyframes[3]->setOffset(1);
449 451
450 const KeyframeVector result = normalizedKeyframes(keyframes); 452 const KeyframeVector result = normalizedKeyframes(keyframes);
451 EXPECT_EQ(0U, result.size()); 453 EXPECT_EQ(0U, result.size());
452 } 454 }
453 455
454 TEST_F(KeyframeEffectModelTest, LastOne) 456 TEST_F(KeyframeEffectModelTest, LastOne)
455 { 457 {
456 KeyframeVector keyframes(3); 458 KeyframeEffectModel::KeyframeVector keyframes(3);
457 keyframes[0] = AnimatableValueKeyframe::create(); 459 keyframes[0] = Keyframe::create();
458 keyframes[0]->setOffset(-1); 460 keyframes[0]->setOffset(-1);
459 keyframes[1] = AnimatableValueKeyframe::create(); 461 keyframes[1] = Keyframe::create();
460 keyframes[2] = AnimatableValueKeyframe::create(); 462 keyframes[2] = Keyframe::create();
461 keyframes[2]->setOffset(2); 463 keyframes[2]->setOffset(2);
462 464
463 const KeyframeVector result = normalizedKeyframes(keyframes); 465 const KeyframeVector result = normalizedKeyframes(keyframes);
464 EXPECT_EQ(1U, result.size()); 466 EXPECT_EQ(1U, result.size());
465 EXPECT_DOUBLE_EQ(1.0, result[0]->offset()); 467 EXPECT_DOUBLE_EQ(1.0, result[0]->offset());
466 } 468 }
467 469
468 TEST_F(KeyframeEffectModelTest, FirstZero) 470 TEST_F(KeyframeEffectModelTest, FirstZero)
469 { 471 {
470 KeyframeVector keyframes(3); 472 KeyframeEffectModel::KeyframeVector keyframes(3);
471 keyframes[0] = AnimatableValueKeyframe::create(); 473 keyframes[0] = Keyframe::create();
472 keyframes[0]->setOffset(-1); 474 keyframes[0]->setOffset(-1);
473 keyframes[1] = AnimatableValueKeyframe::create(); 475 keyframes[1] = Keyframe::create();
474 keyframes[2] = AnimatableValueKeyframe::create(); 476 keyframes[2] = Keyframe::create();
475 keyframes[2]->setOffset(0.25); 477 keyframes[2]->setOffset(0.25);
476 478
477 const KeyframeVector result = normalizedKeyframes(keyframes); 479 const KeyframeVector result = normalizedKeyframes(keyframes);
478 EXPECT_EQ(2U, result.size()); 480 EXPECT_EQ(2U, result.size());
479 EXPECT_DOUBLE_EQ(0.0, result[0]->offset()); 481 EXPECT_DOUBLE_EQ(0.0, result[0]->offset());
480 EXPECT_DOUBLE_EQ(0.25, result[1]->offset()); 482 EXPECT_DOUBLE_EQ(0.25, result[1]->offset());
481 } 483 }
482 484
483 TEST_F(KeyframeEffectModelTest, EvenlyDistributed1) 485 TEST_F(KeyframeEffectModelTest, EvenlyDistributed1)
484 { 486 {
485 KeyframeVector keyframes(5); 487 KeyframeEffectModel::KeyframeVector keyframes(5);
486 keyframes[0] = AnimatableValueKeyframe::create(); 488 keyframes[0] = Keyframe::create();
487 keyframes[0]->setOffset(0.125); 489 keyframes[0]->setOffset(0.125);
488 keyframes[1] = AnimatableValueKeyframe::create(); 490 keyframes[1] = Keyframe::create();
489 keyframes[2] = AnimatableValueKeyframe::create(); 491 keyframes[2] = Keyframe::create();
490 keyframes[3] = AnimatableValueKeyframe::create(); 492 keyframes[3] = Keyframe::create();
491 keyframes[4] = AnimatableValueKeyframe::create(); 493 keyframes[4] = Keyframe::create();
492 keyframes[4]->setOffset(0.625); 494 keyframes[4]->setOffset(0.625);
493 495
494 const KeyframeVector result = normalizedKeyframes(keyframes); 496 const KeyframeVector result = normalizedKeyframes(keyframes);
495 EXPECT_EQ(5U, result.size()); 497 EXPECT_EQ(5U, result.size());
496 EXPECT_DOUBLE_EQ(0.125, result[0]->offset()); 498 EXPECT_DOUBLE_EQ(0.125, result[0]->offset());
497 EXPECT_DOUBLE_EQ(0.25, result[1]->offset()); 499 EXPECT_DOUBLE_EQ(0.25, result[1]->offset());
498 EXPECT_DOUBLE_EQ(0.375, result[2]->offset()); 500 EXPECT_DOUBLE_EQ(0.375, result[2]->offset());
499 EXPECT_DOUBLE_EQ(0.5, result[3]->offset()); 501 EXPECT_DOUBLE_EQ(0.5, result[3]->offset());
500 EXPECT_DOUBLE_EQ(0.625, result[4]->offset()); 502 EXPECT_DOUBLE_EQ(0.625, result[4]->offset());
501 } 503 }
502 504
503 TEST_F(KeyframeEffectModelTest, EvenlyDistributed2) 505 TEST_F(KeyframeEffectModelTest, EvenlyDistributed2)
504 { 506 {
505 KeyframeVector keyframes(8); 507 KeyframeEffectModel::KeyframeVector keyframes(8);
506 keyframes[0] = AnimatableValueKeyframe::create(); 508 keyframes[0] = Keyframe::create();
507 keyframes[0]->setOffset(-0.1); 509 keyframes[0]->setOffset(-0.1);
508 keyframes[1] = AnimatableValueKeyframe::create(); 510 keyframes[1] = Keyframe::create();
509 keyframes[2] = AnimatableValueKeyframe::create(); 511 keyframes[2] = Keyframe::create();
510 keyframes[3] = AnimatableValueKeyframe::create(); 512 keyframes[3] = Keyframe::create();
511 keyframes[4] = AnimatableValueKeyframe::create(); 513 keyframes[4] = Keyframe::create();
512 keyframes[4]->setOffset(0.75); 514 keyframes[4]->setOffset(0.75);
513 keyframes[5] = AnimatableValueKeyframe::create(); 515 keyframes[5] = Keyframe::create();
514 keyframes[6] = AnimatableValueKeyframe::create(); 516 keyframes[6] = Keyframe::create();
515 keyframes[7] = AnimatableValueKeyframe::create(); 517 keyframes[7] = Keyframe::create();
516 keyframes[7]->setOffset(1.1); 518 keyframes[7]->setOffset(1.1);
517 519
518 const KeyframeVector result = normalizedKeyframes(keyframes); 520 const KeyframeVector result = normalizedKeyframes(keyframes);
519 EXPECT_EQ(6U, result.size()); 521 EXPECT_EQ(6U, result.size());
520 EXPECT_DOUBLE_EQ(0.0, result[0]->offset()); 522 EXPECT_DOUBLE_EQ(0.0, result[0]->offset());
521 EXPECT_DOUBLE_EQ(0.25, result[1]->offset()); 523 EXPECT_DOUBLE_EQ(0.25, result[1]->offset());
522 EXPECT_DOUBLE_EQ(0.5, result[2]->offset()); 524 EXPECT_DOUBLE_EQ(0.5, result[2]->offset());
523 EXPECT_DOUBLE_EQ(0.75, result[3]->offset()); 525 EXPECT_DOUBLE_EQ(0.75, result[3]->offset());
524 EXPECT_DOUBLE_EQ(0.875, result[4]->offset()); 526 EXPECT_DOUBLE_EQ(0.875, result[4]->offset());
525 EXPECT_DOUBLE_EQ(1.0, result[5]->offset()); 527 EXPECT_DOUBLE_EQ(1.0, result[5]->offset());
526 } 528 }
527 529
528 TEST_F(KeyframeEffectModelTest, EvenlyDistributed3) 530 TEST_F(KeyframeEffectModelTest, EvenlyDistributed3)
529 { 531 {
530 KeyframeVector keyframes(12); 532 KeyframeEffectModel::KeyframeVector keyframes(12);
531 keyframes[0] = AnimatableValueKeyframe::create(); 533 keyframes[0] = Keyframe::create();
532 keyframes[0]->setOffset(0); 534 keyframes[0]->setOffset(0);
533 keyframes[1] = AnimatableValueKeyframe::create(); 535 keyframes[1] = Keyframe::create();
534 keyframes[2] = AnimatableValueKeyframe::create(); 536 keyframes[2] = Keyframe::create();
535 keyframes[3] = AnimatableValueKeyframe::create(); 537 keyframes[3] = Keyframe::create();
536 keyframes[4] = AnimatableValueKeyframe::create(); 538 keyframes[4] = Keyframe::create();
537 keyframes[4]->setOffset(0.5); 539 keyframes[4]->setOffset(0.5);
538 keyframes[5] = AnimatableValueKeyframe::create(); 540 keyframes[5] = Keyframe::create();
539 keyframes[6] = AnimatableValueKeyframe::create(); 541 keyframes[6] = Keyframe::create();
540 keyframes[7] = AnimatableValueKeyframe::create(); 542 keyframes[7] = Keyframe::create();
541 keyframes[7]->setOffset(0.8); 543 keyframes[7]->setOffset(0.8);
542 keyframes[8] = AnimatableValueKeyframe::create(); 544 keyframes[8] = Keyframe::create();
543 keyframes[9] = AnimatableValueKeyframe::create(); 545 keyframes[9] = Keyframe::create();
544 keyframes[10] = AnimatableValueKeyframe::create(); 546 keyframes[10] = Keyframe::create();
545 keyframes[11] = AnimatableValueKeyframe::create(); 547 keyframes[11] = Keyframe::create();
546 548
547 const KeyframeVector result = normalizedKeyframes(keyframes); 549 const KeyframeVector result = normalizedKeyframes(keyframes);
548 EXPECT_EQ(12U, result.size()); 550 EXPECT_EQ(12U, result.size());
549 EXPECT_DOUBLE_EQ(0.0, result[0]->offset()); 551 EXPECT_DOUBLE_EQ(0.0, result[0]->offset());
550 EXPECT_DOUBLE_EQ(0.125, result[1]->offset()); 552 EXPECT_DOUBLE_EQ(0.125, result[1]->offset());
551 EXPECT_DOUBLE_EQ(0.25, result[2]->offset()); 553 EXPECT_DOUBLE_EQ(0.25, result[2]->offset());
552 EXPECT_DOUBLE_EQ(0.375, result[3]->offset()); 554 EXPECT_DOUBLE_EQ(0.375, result[3]->offset());
553 EXPECT_DOUBLE_EQ(0.5, result[4]->offset()); 555 EXPECT_DOUBLE_EQ(0.5, result[4]->offset());
554 EXPECT_DOUBLE_EQ(0.6, result[5]->offset()); 556 EXPECT_DOUBLE_EQ(0.6, result[5]->offset());
555 EXPECT_DOUBLE_EQ(0.7, result[6]->offset()); 557 EXPECT_DOUBLE_EQ(0.7, result[6]->offset());
556 EXPECT_DOUBLE_EQ(0.8, result[7]->offset()); 558 EXPECT_DOUBLE_EQ(0.8, result[7]->offset());
557 EXPECT_DOUBLE_EQ(0.85, result[8]->offset()); 559 EXPECT_DOUBLE_EQ(0.85, result[8]->offset());
558 EXPECT_DOUBLE_EQ(0.9, result[9]->offset()); 560 EXPECT_DOUBLE_EQ(0.9, result[9]->offset());
559 EXPECT_DOUBLE_EQ(0.95, result[10]->offset()); 561 EXPECT_DOUBLE_EQ(0.95, result[10]->offset());
560 EXPECT_DOUBLE_EQ(1.0, result[11]->offset()); 562 EXPECT_DOUBLE_EQ(1.0, result[11]->offset());
561 } 563 }
562 564
563 } // namespace WebCore 565 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/animation/KeyframeEffectModel.cpp ('k') | Source/core/animation/StringKeyframe.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698