OLD | NEW |
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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 double actualValue; | 69 double actualValue; |
70 if (value->isLength()) | 70 if (value->isLength()) |
71 actualValue = toCSSPrimitiveValue(toAnimatableLength(value.get())->toCSS
Value().get())->getDoubleValue(); | 71 actualValue = toCSSPrimitiveValue(toAnimatableLength(value.get())->toCSS
Value().get())->getDoubleValue(); |
72 else | 72 else |
73 actualValue = toCSSPrimitiveValue(toAnimatableUnknown(value.get())->toCS
SValue().get())->getDoubleValue(); | 73 actualValue = toCSSPrimitiveValue(toAnimatableUnknown(value.get())->toCS
SValue().get())->getDoubleValue(); |
74 | 74 |
75 EXPECT_FLOAT_EQ(static_cast<float>(expectedValue), actualValue); | 75 EXPECT_FLOAT_EQ(static_cast<float>(expectedValue), actualValue); |
76 } | 76 } |
77 | 77 |
78 | 78 |
79 TEST(KeyframeAnimationEffect, BasicOperation) | 79 TEST(CoreAnimationKeyframeAnimationEffectTest, BasicOperation) |
80 { | 80 { |
81 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(un
knownAnimatableValue(3.0), unknownAnimatableValue(5.0)); | 81 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(un
knownAnimatableValue(3.0), unknownAnimatableValue(5.0)); |
82 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 82 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
83 OwnPtr<AnimationEffect::CompositableValueMap> values = effect->sample(0, 0.6
); | 83 OwnPtr<AnimationEffect::CompositableValueMap> values = effect->sample(0, 0.6
); |
84 ASSERT_EQ(1, values->size()); | 84 ASSERT_EQ(1, values->size()); |
85 EXPECT_EQ(CSSPropertyLeft, values->begin()->key); | 85 EXPECT_EQ(CSSPropertyLeft, values->begin()->key); |
86 expectDoubleValue(5.0, values->begin()->value->compositeOnto(unknownAnimatab
leValue(7.0))); | 86 expectDoubleValue(5.0, values->begin()->value->compositeOnto(unknownAnimatab
leValue(7.0))); |
87 } | 87 } |
88 | 88 |
89 TEST(KeyframeAnimationEffect, CompositeReplaceNonInterpolable) | 89 TEST(CoreAnimationKeyframeAnimationEffectTest, CompositeReplaceNonInterpolable) |
90 { | 90 { |
91 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(un
knownAnimatableValue(3.0), unknownAnimatableValue(5.0)); | 91 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(un
knownAnimatableValue(3.0), unknownAnimatableValue(5.0)); |
92 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 92 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
93 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 93 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
94 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 94 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
95 expectDoubleValue(5.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 95 expectDoubleValue(5.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
96 } | 96 } |
97 | 97 |
98 TEST(KeyframeAnimationEffect, CompositeReplace) | 98 TEST(CoreAnimationKeyframeAnimationEffectTest, CompositeReplace) |
99 { | 99 { |
100 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); | 100 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); |
101 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 101 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
102 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 102 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
103 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 103 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
104 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6)->begin()->va
lue->compositeOnto(unknownAnimatableValue(7.0))); | 104 expectDoubleValue(3.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6)->begin()->va
lue->compositeOnto(unknownAnimatableValue(7.0))); |
105 } | 105 } |
106 | 106 |
107 TEST(KeyframeAnimationEffect, CompositeAdd) | 107 TEST(CoreAnimationKeyframeAnimationEffectTest, CompositeAdd) |
108 { | 108 { |
109 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); | 109 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); |
110 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 110 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
111 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 111 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
112 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 112 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
113 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0
.6)->begin()->value->compositeOnto(pixelAnimatableValue(7.0))); | 113 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0
.6)->begin()->value->compositeOnto(pixelAnimatableValue(7.0))); |
114 } | 114 } |
115 | 115 |
116 TEST(KeyframeAnimationEffect, ExtrapolateReplaceNonInterpolable) | 116 TEST(CoreAnimationKeyframeAnimationEffectTest, ExtrapolateReplaceNonInterpolable
) |
117 { | 117 { |
118 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(un
knownAnimatableValue(3.0), unknownAnimatableValue(5.0)); | 118 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(un
knownAnimatableValue(3.0), unknownAnimatableValue(5.0)); |
119 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 119 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
120 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 120 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
121 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 121 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
122 expectDoubleValue(5.0, effect->sample(0, 1.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 122 expectDoubleValue(5.0, effect->sample(0, 1.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
123 } | 123 } |
124 | 124 |
125 TEST(KeyframeAnimationEffect, ExtrapolateReplace) | 125 TEST(CoreAnimationKeyframeAnimationEffectTest, ExtrapolateReplace) |
126 { | 126 { |
127 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); | 127 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); |
128 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 128 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
129 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); | 129 keyframes[0]->setComposite(AnimationEffect::CompositeReplace); |
130 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); | 130 keyframes[1]->setComposite(AnimationEffect::CompositeReplace); |
131 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, effect->sample(0, 1.6)->begin()->v
alue->compositeOnto(pixelAnimatableValue(7.0))); | 131 expectDoubleValue(3.0 * -0.6 + 5.0 * 1.6, effect->sample(0, 1.6)->begin()->v
alue->compositeOnto(pixelAnimatableValue(7.0))); |
132 } | 132 } |
133 | 133 |
134 TEST(KeyframeAnimationEffect, ExtrapolateAdd) | 134 TEST(CoreAnimationKeyframeAnimationEffectTest, ExtrapolateAdd) |
135 { | 135 { |
136 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); | 136 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); |
137 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 137 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
138 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 138 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
139 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 139 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
140 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, effect->sample(0,
1.6)->begin()->value->compositeOnto(pixelAnimatableValue(7.0))); | 140 expectDoubleValue((7.0 + 3.0) * -0.6 + (7.0 + 5.0) * 1.6, effect->sample(0,
1.6)->begin()->value->compositeOnto(pixelAnimatableValue(7.0))); |
141 } | 141 } |
142 | 142 |
143 TEST(KeyframeAnimationEffect, ZeroKeyframes) | 143 TEST(CoreAnimationKeyframeAnimationEffectTest, ZeroKeyframes) |
144 { | 144 { |
145 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(Key
frameAnimationEffect::KeyframeVector()); | 145 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(Key
frameAnimationEffect::KeyframeVector()); |
146 EXPECT_TRUE(effect->sample(0, 0.5)->isEmpty()); | 146 EXPECT_TRUE(effect->sample(0, 0.5)->isEmpty()); |
147 } | 147 } |
148 | 148 |
149 TEST(KeyframeAnimationEffect, SingleKeyframeAtOffsetZero) | 149 TEST(CoreAnimationKeyframeAnimationEffectTest, SingleKeyframeAtOffsetZero) |
150 { | 150 { |
151 KeyframeAnimationEffect::KeyframeVector keyframes(1); | 151 KeyframeAnimationEffect::KeyframeVector keyframes(1); |
152 keyframes[0] = Keyframe::create(); | 152 keyframes[0] = Keyframe::create(); |
153 keyframes[0]->setOffset(0.0); | 153 keyframes[0]->setOffset(0.0); |
154 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; | 154 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; |
155 | 155 |
156 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 156 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
157 expectDoubleValue(3.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 157 expectDoubleValue(3.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
158 } | 158 } |
159 | 159 |
160 TEST(KeyframeAnimationEffect, SingleKeyframeAtOffsetOne) | 160 TEST(CoreAnimationKeyframeAnimationEffectTest, SingleKeyframeAtOffsetOne) |
161 { | 161 { |
162 KeyframeAnimationEffect::KeyframeVector keyframes(1); | 162 KeyframeAnimationEffect::KeyframeVector keyframes(1); |
163 keyframes[0] = Keyframe::create(); | 163 keyframes[0] = Keyframe::create(); |
164 keyframes[0]->setOffset(1.0); | 164 keyframes[0]->setOffset(1.0); |
165 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0)); | 165 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0)); |
166 | 166 |
167 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 167 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
168 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6)->begin()->va
lue->compositeOnto(pixelAnimatableValue(7.0))); | 168 expectDoubleValue(7.0 * 0.4 + 5.0 * 0.6, effect->sample(0, 0.6)->begin()->va
lue->compositeOnto(pixelAnimatableValue(7.0))); |
169 } | 169 } |
170 | 170 |
171 TEST(KeyframeAnimationEffect, MoreThanTwoKeyframes) | 171 TEST(CoreAnimationKeyframeAnimationEffectTest, MoreThanTwoKeyframes) |
172 { | 172 { |
173 KeyframeAnimationEffect::KeyframeVector keyframes(3); | 173 KeyframeAnimationEffect::KeyframeVector keyframes(3); |
174 keyframes[0] = Keyframe::create(); | 174 keyframes[0] = Keyframe::create(); |
175 keyframes[0]->setOffset(0.0); | 175 keyframes[0]->setOffset(0.0); |
176 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; | 176 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; |
177 keyframes[1] = Keyframe::create(); | 177 keyframes[1] = Keyframe::create(); |
178 keyframes[1]->setOffset(0.5); | 178 keyframes[1]->setOffset(0.5); |
179 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0))
; | 179 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0))
; |
180 keyframes[2] = Keyframe::create(); | 180 keyframes[2] = Keyframe::create(); |
181 keyframes[2]->setOffset(1.0); | 181 keyframes[2]->setOffset(1.0); |
182 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; | 182 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; |
183 | 183 |
184 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 184 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
185 expectDoubleValue(4.0, effect->sample(0, 0.3)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 185 expectDoubleValue(4.0, effect->sample(0, 0.3)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
186 expectDoubleValue(5.0, effect->sample(0, 0.8)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 186 expectDoubleValue(5.0, effect->sample(0, 0.8)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
187 } | 187 } |
188 | 188 |
189 TEST(KeyframeAnimationEffect, EndKeyframeOffsetsUnspecified) | 189 TEST(CoreAnimationKeyframeAnimationEffectTest, EndKeyframeOffsetsUnspecified) |
190 { | 190 { |
191 KeyframeAnimationEffect::KeyframeVector keyframes(3); | 191 KeyframeAnimationEffect::KeyframeVector keyframes(3); |
192 keyframes[0] = Keyframe::create(); | 192 keyframes[0] = Keyframe::create(); |
193 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; | 193 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; |
194 keyframes[1] = Keyframe::create(); | 194 keyframes[1] = Keyframe::create(); |
195 keyframes[1]->setOffset(0.5); | 195 keyframes[1]->setOffset(0.5); |
196 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0))
; | 196 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0))
; |
197 keyframes[2] = Keyframe::create(); | 197 keyframes[2] = Keyframe::create(); |
198 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; | 198 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; |
199 | 199 |
200 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 200 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
201 expectDoubleValue(3.0, effect->sample(0, 0.1)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 201 expectDoubleValue(3.0, effect->sample(0, 0.1)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
202 expectDoubleValue(4.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 202 expectDoubleValue(4.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
203 expectDoubleValue(5.0, effect->sample(0, 0.9)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 203 expectDoubleValue(5.0, effect->sample(0, 0.9)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
204 } | 204 } |
205 | 205 |
206 TEST(KeyframeAnimationEffect, SampleOnKeyframe) | 206 TEST(CoreAnimationKeyframeAnimationEffectTest, SampleOnKeyframe) |
207 { | 207 { |
208 KeyframeAnimationEffect::KeyframeVector keyframes(3); | 208 KeyframeAnimationEffect::KeyframeVector keyframes(3); |
209 keyframes[0] = Keyframe::create(); | 209 keyframes[0] = Keyframe::create(); |
210 keyframes[0]->setOffset(0.0); | 210 keyframes[0]->setOffset(0.0); |
211 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; | 211 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; |
212 keyframes[1] = Keyframe::create(); | 212 keyframes[1] = Keyframe::create(); |
213 keyframes[1]->setOffset(0.5); | 213 keyframes[1]->setOffset(0.5); |
214 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0))
; | 214 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(4.0))
; |
215 keyframes[2] = Keyframe::create(); | 215 keyframes[2] = Keyframe::create(); |
216 keyframes[2]->setOffset(1.0); | 216 keyframes[2]->setOffset(1.0); |
217 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; | 217 keyframes[2]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; |
218 | 218 |
219 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 219 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
220 expectDoubleValue(3.0, effect->sample(0, 0.0)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 220 expectDoubleValue(3.0, effect->sample(0, 0.0)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
221 expectDoubleValue(4.0, effect->sample(0, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 221 expectDoubleValue(4.0, effect->sample(0, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
222 expectDoubleValue(5.0, effect->sample(0, 1.0)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); | 222 expectDoubleValue(5.0, effect->sample(0, 1.0)->begin()->value->compositeOnto
(unknownAnimatableValue(7.0))); |
223 } | 223 } |
224 | 224 |
225 // Note that this tests an implementation detail, not behaviour defined by the s
pec. | 225 // Note that this tests an implementation detail, not behaviour defined by the s
pec. |
226 TEST(KeyframeAnimationEffect, SampleReturnsSameAnimatableValueInstance) | 226 TEST(CoreAnimationKeyframeAnimationEffectTest, SampleReturnsSameAnimatableValueI
nstance) |
227 { | 227 { |
228 AnimatableValue* threePixelsValue = unknownAnimatableValue(3.0); | 228 AnimatableValue* threePixelsValue = unknownAnimatableValue(3.0); |
229 AnimatableValue* fourPixelsValue = unknownAnimatableValue(4.0); | 229 AnimatableValue* fourPixelsValue = unknownAnimatableValue(4.0); |
230 AnimatableValue* fivePixelsValue = unknownAnimatableValue(5.0); | 230 AnimatableValue* fivePixelsValue = unknownAnimatableValue(5.0); |
231 | 231 |
232 KeyframeAnimationEffect::KeyframeVector keyframes(3); | 232 KeyframeAnimationEffect::KeyframeVector keyframes(3); |
233 keyframes[0] = Keyframe::create(); | 233 keyframes[0] = Keyframe::create(); |
234 keyframes[0]->setOffset(0.0); | 234 keyframes[0]->setOffset(0.0); |
235 keyframes[0]->setPropertyValue(CSSPropertyLeft, threePixelsValue); | 235 keyframes[0]->setPropertyValue(CSSPropertyLeft, threePixelsValue); |
236 keyframes[1] = Keyframe::create(); | 236 keyframes[1] = Keyframe::create(); |
237 keyframes[1]->setOffset(0.5); | 237 keyframes[1]->setOffset(0.5); |
238 keyframes[1]->setPropertyValue(CSSPropertyLeft, fourPixelsValue); | 238 keyframes[1]->setPropertyValue(CSSPropertyLeft, fourPixelsValue); |
239 keyframes[2] = Keyframe::create(); | 239 keyframes[2] = Keyframe::create(); |
240 keyframes[2]->setOffset(1.0); | 240 keyframes[2]->setOffset(1.0); |
241 keyframes[2]->setPropertyValue(CSSPropertyLeft, fivePixelsValue); | 241 keyframes[2]->setPropertyValue(CSSPropertyLeft, fivePixelsValue); |
242 | 242 |
243 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 243 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
244 EXPECT_EQ(threePixelsValue, effect->sample(0, 0.0)->begin()->value->composit
eOnto(unknownAnimatableValue(7.0))); | 244 EXPECT_EQ(threePixelsValue, effect->sample(0, 0.0)->begin()->value->composit
eOnto(unknownAnimatableValue(7.0))); |
245 EXPECT_EQ(threePixelsValue, effect->sample(0, 0.1)->begin()->value->composit
eOnto(unknownAnimatableValue(7.0))); | 245 EXPECT_EQ(threePixelsValue, effect->sample(0, 0.1)->begin()->value->composit
eOnto(unknownAnimatableValue(7.0))); |
246 EXPECT_EQ(fourPixelsValue, effect->sample(0, 0.4)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); | 246 EXPECT_EQ(fourPixelsValue, effect->sample(0, 0.4)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); |
247 EXPECT_EQ(fourPixelsValue, effect->sample(0, 0.5)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); | 247 EXPECT_EQ(fourPixelsValue, effect->sample(0, 0.5)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); |
248 EXPECT_EQ(fourPixelsValue, effect->sample(0, 0.6)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); | 248 EXPECT_EQ(fourPixelsValue, effect->sample(0, 0.6)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); |
249 EXPECT_EQ(fivePixelsValue, effect->sample(0, 0.9)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); | 249 EXPECT_EQ(fivePixelsValue, effect->sample(0, 0.9)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); |
250 EXPECT_EQ(fivePixelsValue, effect->sample(0, 1.0)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); | 250 EXPECT_EQ(fivePixelsValue, effect->sample(0, 1.0)->begin()->value->composite
Onto(unknownAnimatableValue(7.0))); |
251 } | 251 } |
252 | 252 |
253 TEST(KeyframeAnimationEffect, MultipleKeyframesWithSameOffset) | 253 TEST(CoreAnimationKeyframeAnimationEffectTest, MultipleKeyframesWithSameOffset) |
254 { | 254 { |
255 KeyframeAnimationEffect::KeyframeVector keyframes(7); | 255 KeyframeAnimationEffect::KeyframeVector keyframes(7); |
256 keyframes[0] = Keyframe::create(); | 256 keyframes[0] = Keyframe::create(); |
257 keyframes[0]->setOffset(0.1); | 257 keyframes[0]->setOffset(0.1); |
258 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(1.0))
; | 258 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(1.0))
; |
259 keyframes[1] = Keyframe::create(); | 259 keyframes[1] = Keyframe::create(); |
260 keyframes[1]->setOffset(0.1); | 260 keyframes[1]->setOffset(0.1); |
261 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(2.0))
; | 261 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(2.0))
; |
262 keyframes[2] = Keyframe::create(); | 262 keyframes[2] = Keyframe::create(); |
263 keyframes[2]->setOffset(0.5); | 263 keyframes[2]->setOffset(0.5); |
(...skipping 14 matching lines...) Expand all Loading... |
278 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 278 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
279 expectDoubleValue(2.0, effect->sample(0, 0.0)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); | 279 expectDoubleValue(2.0, effect->sample(0, 0.0)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); |
280 expectDoubleValue(2.0, effect->sample(0, 0.2)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); | 280 expectDoubleValue(2.0, effect->sample(0, 0.2)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); |
281 expectDoubleValue(3.0, effect->sample(0, 0.4)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); | 281 expectDoubleValue(3.0, effect->sample(0, 0.4)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); |
282 expectDoubleValue(5.0, effect->sample(0, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); | 282 expectDoubleValue(5.0, effect->sample(0, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); |
283 expectDoubleValue(5.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); | 283 expectDoubleValue(5.0, effect->sample(0, 0.6)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); |
284 expectDoubleValue(6.0, effect->sample(0, 0.8)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); | 284 expectDoubleValue(6.0, effect->sample(0, 0.8)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); |
285 expectDoubleValue(6.0, effect->sample(0, 1.0)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); | 285 expectDoubleValue(6.0, effect->sample(0, 1.0)->begin()->value->compositeOnto
(unknownAnimatableValue(8.0))); |
286 } | 286 } |
287 | 287 |
288 TEST(KeyframeAnimationEffect, PerKeyframeComposite) | 288 TEST(CoreAnimationKeyframeAnimationEffectTest, PerKeyframeComposite) |
289 { | 289 { |
290 KeyframeAnimationEffect::KeyframeVector keyframes(2); | 290 KeyframeAnimationEffect::KeyframeVector keyframes(2); |
291 keyframes[0] = Keyframe::create(); | 291 keyframes[0] = Keyframe::create(); |
292 keyframes[0]->setOffset(0.0); | 292 keyframes[0]->setOffset(0.0); |
293 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0)); | 293 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(3.0)); |
294 keyframes[1] = Keyframe::create(); | 294 keyframes[1] = Keyframe::create(); |
295 keyframes[1]->setOffset(1.0); | 295 keyframes[1]->setOffset(1.0); |
296 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0)); | 296 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(5.0)); |
297 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 297 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
298 | 298 |
299 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 299 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
300 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6)->beg
in()->value->compositeOnto(pixelAnimatableValue(7.0))); | 300 expectDoubleValue(3.0 * 0.4 + (7.0 + 5.0) * 0.6, effect->sample(0, 0.6)->beg
in()->value->compositeOnto(pixelAnimatableValue(7.0))); |
301 } | 301 } |
302 | 302 |
303 TEST(KeyframeAnimationEffect, MultipleProperties) | 303 TEST(CoreAnimationKeyframeAnimationEffectTest, MultipleProperties) |
304 { | 304 { |
305 KeyframeAnimationEffect::KeyframeVector keyframes(2); | 305 KeyframeAnimationEffect::KeyframeVector keyframes(2); |
306 keyframes[0] = Keyframe::create(); | 306 keyframes[0] = Keyframe::create(); |
307 keyframes[0]->setOffset(0.0); | 307 keyframes[0]->setOffset(0.0); |
308 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; | 308 keyframes[0]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(3.0))
; |
309 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0)
); | 309 keyframes[0]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(4.0)
); |
310 keyframes[1] = Keyframe::create(); | 310 keyframes[1] = Keyframe::create(); |
311 keyframes[1]->setOffset(1.0); | 311 keyframes[1]->setOffset(1.0); |
312 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; | 312 keyframes[1]->setPropertyValue(CSSPropertyLeft, unknownAnimatableValue(5.0))
; |
313 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0)
); | 313 keyframes[1]->setPropertyValue(CSSPropertyRight, unknownAnimatableValue(6.0)
); |
314 | 314 |
315 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 315 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
316 OwnPtr<AnimationEffect::CompositableValueMap> values = effect->sample(0, 0.6
); | 316 OwnPtr<AnimationEffect::CompositableValueMap> values = effect->sample(0, 0.6
); |
317 ASSERT_EQ(2, values->size()); | 317 ASSERT_EQ(2, values->size()); |
318 ASSERT_TRUE(values->contains(CSSPropertyLeft)); | 318 ASSERT_TRUE(values->contains(CSSPropertyLeft)); |
319 expectDoubleValue(5.0, values->get(CSSPropertyLeft)->compositeOnto(unknownAn
imatableValue(7.0))); | 319 expectDoubleValue(5.0, values->get(CSSPropertyLeft)->compositeOnto(unknownAn
imatableValue(7.0))); |
320 ASSERT_TRUE(values->contains(CSSPropertyRight)); | 320 ASSERT_TRUE(values->contains(CSSPropertyRight)); |
321 expectDoubleValue(6.0, values->get(CSSPropertyRight)->compositeOnto(unknownA
nimatableValue(7.0))); | 321 expectDoubleValue(6.0, values->get(CSSPropertyRight)->compositeOnto(unknownA
nimatableValue(7.0))); |
322 } | 322 } |
323 | 323 |
324 TEST(KeyframeAnimationEffect, RecompositeCompositableValue) | 324 TEST(CoreAnimationKeyframeAnimationEffectTest, RecompositeCompositableValue) |
325 { | 325 { |
326 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); | 326 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(3.0), pixelAnimatableValue(5.0)); |
327 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 327 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
328 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); | 328 keyframes[1]->setComposite(AnimationEffect::CompositeAdd); |
329 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 329 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
330 OwnPtr<AnimationEffect::CompositableValueMap> values = effect->sample(0, 0.6
); | 330 OwnPtr<AnimationEffect::CompositableValueMap> values = effect->sample(0, 0.6
); |
331 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->begin()->va
lue->compositeOnto(pixelAnimatableValue(7.0))); | 331 expectDoubleValue((7.0 + 3.0) * 0.4 + (7.0 + 5.0) * 0.6, values->begin()->va
lue->compositeOnto(pixelAnimatableValue(7.0))); |
332 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->begin()->va
lue->compositeOnto(pixelAnimatableValue(9.0))); | 332 expectDoubleValue((9.0 + 3.0) * 0.4 + (9.0 + 5.0) * 0.6, values->begin()->va
lue->compositeOnto(pixelAnimatableValue(9.0))); |
333 } | 333 } |
334 | 334 |
335 TEST(KeyframeAnimationEffect, MultipleIterations) | 335 TEST(CoreAnimationKeyframeAnimationEffectTest, MultipleIterations) |
336 { | 336 { |
337 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(1.0), pixelAnimatableValue(3.0)); | 337 KeyframeAnimationEffect::KeyframeVector keyframes = keyframesAtZeroAndOne(pi
xelAnimatableValue(1.0), pixelAnimatableValue(3.0)); |
338 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 338 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
339 expectDoubleValue(2.0, effect->sample(0, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(0.0))); | 339 expectDoubleValue(2.0, effect->sample(0, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(0.0))); |
340 expectDoubleValue(2.0, effect->sample(1, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(0.0))); | 340 expectDoubleValue(2.0, effect->sample(1, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(0.0))); |
341 expectDoubleValue(2.0, effect->sample(2, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(0.0))); | 341 expectDoubleValue(2.0, effect->sample(2, 0.5)->begin()->value->compositeOnto
(unknownAnimatableValue(0.0))); |
342 } | 342 } |
343 | 343 |
344 TEST(KeyframeAnimationEffect, DependsOnUnderlyingValue) | 344 TEST(CoreAnimationKeyframeAnimationEffectTest, DependsOnUnderlyingValue) |
345 { | 345 { |
346 KeyframeAnimationEffect::KeyframeVector keyframes(3); | 346 KeyframeAnimationEffect::KeyframeVector keyframes(3); |
347 keyframes[0] = Keyframe::create(); | 347 keyframes[0] = Keyframe::create(); |
348 keyframes[0]->setOffset(0.0); | 348 keyframes[0]->setOffset(0.0); |
349 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0)); | 349 keyframes[0]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0)); |
350 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); | 350 keyframes[0]->setComposite(AnimationEffect::CompositeAdd); |
351 keyframes[1] = Keyframe::create(); | 351 keyframes[1] = Keyframe::create(); |
352 keyframes[1]->setOffset(0.5); | 352 keyframes[1]->setOffset(0.5); |
353 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0)); | 353 keyframes[1]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0)); |
354 keyframes[2] = Keyframe::create(); | 354 keyframes[2] = Keyframe::create(); |
355 keyframes[2]->setOffset(1.0); | 355 keyframes[2]->setOffset(1.0); |
356 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0)); | 356 keyframes[2]->setPropertyValue(CSSPropertyLeft, pixelAnimatableValue(1.0)); |
357 | 357 |
358 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); | 358 RefPtr<KeyframeAnimationEffect> effect = KeyframeAnimationEffect::create(key
frames); |
359 EXPECT_TRUE(effect->sample(0, 0)->begin()->value->dependsOnUnderlyingValue()
); | 359 EXPECT_TRUE(effect->sample(0, 0)->begin()->value->dependsOnUnderlyingValue()
); |
360 EXPECT_TRUE(effect->sample(0, 0.1)->begin()->value->dependsOnUnderlyingValue
()); | 360 EXPECT_TRUE(effect->sample(0, 0.1)->begin()->value->dependsOnUnderlyingValue
()); |
361 EXPECT_TRUE(effect->sample(0, 0.25)->begin()->value->dependsOnUnderlyingValu
e()); | 361 EXPECT_TRUE(effect->sample(0, 0.25)->begin()->value->dependsOnUnderlyingValu
e()); |
362 EXPECT_TRUE(effect->sample(0, 0.4)->begin()->value->dependsOnUnderlyingValue
()); | 362 EXPECT_TRUE(effect->sample(0, 0.4)->begin()->value->dependsOnUnderlyingValue
()); |
363 EXPECT_FALSE(effect->sample(0, 0.5)->begin()->value->dependsOnUnderlyingValu
e()); | 363 EXPECT_FALSE(effect->sample(0, 0.5)->begin()->value->dependsOnUnderlyingValu
e()); |
364 EXPECT_FALSE(effect->sample(0, 0.6)->begin()->value->dependsOnUnderlyingValu
e()); | 364 EXPECT_FALSE(effect->sample(0, 0.6)->begin()->value->dependsOnUnderlyingValu
e()); |
365 EXPECT_FALSE(effect->sample(0, 0.75)->begin()->value->dependsOnUnderlyingVal
ue()); | 365 EXPECT_FALSE(effect->sample(0, 0.75)->begin()->value->dependsOnUnderlyingVal
ue()); |
366 EXPECT_FALSE(effect->sample(0, 0.8)->begin()->value->dependsOnUnderlyingValu
e()); | 366 EXPECT_FALSE(effect->sample(0, 0.8)->begin()->value->dependsOnUnderlyingValu
e()); |
367 EXPECT_FALSE(effect->sample(0, 1)->begin()->value->dependsOnUnderlyingValue(
)); | 367 EXPECT_FALSE(effect->sample(0, 1)->begin()->value->dependsOnUnderlyingValue(
)); |
368 } | 368 } |
369 | 369 |
370 } // namespace | 370 } // namespace |
OLD | NEW |