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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 private: | 82 private: |
83 TestTimedItem(const Timing& specified, TestTimedItemEventDelegate* eventDele
gate) | 83 TestTimedItem(const Timing& specified, TestTimedItemEventDelegate* eventDele
gate) |
84 : TimedItem(specified, adoptPtr(eventDelegate)) | 84 : TimedItem(specified, adoptPtr(eventDelegate)) |
85 , m_eventDelegate(eventDelegate) | 85 , m_eventDelegate(eventDelegate) |
86 { | 86 { |
87 } | 87 } |
88 | 88 |
89 TestTimedItemEventDelegate* m_eventDelegate; | 89 TestTimedItemEventDelegate* m_eventDelegate; |
90 }; | 90 }; |
91 | 91 |
92 TEST(TimedItem, Sanity) | 92 TEST(CoreAnimationTimedItemTest, Sanity) |
93 { | 93 { |
94 Timing timing; | 94 Timing timing; |
95 timing.hasIterationDuration = true; | 95 timing.hasIterationDuration = true; |
96 timing.iterationDuration = 2; | 96 timing.iterationDuration = 2; |
97 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 97 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
98 | 98 |
99 ASSERT_EQ(0, timedItem->startTime()); | 99 ASSERT_EQ(0, timedItem->startTime()); |
100 | 100 |
101 timedItem->updateInheritedTime(0); | 101 timedItem->updateInheritedTime(0); |
102 | 102 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 ASSERT_EQ(TimedItem::PhaseAfter, timedItem->phase()); | 136 ASSERT_EQ(TimedItem::PhaseAfter, timedItem->phase()); |
137 ASSERT_FALSE(timedItem->isInPlay()); | 137 ASSERT_FALSE(timedItem->isInPlay()); |
138 ASSERT_FALSE(timedItem->isCurrent()); | 138 ASSERT_FALSE(timedItem->isCurrent()); |
139 ASSERT_TRUE(timedItem->isInEffect()); | 139 ASSERT_TRUE(timedItem->isInEffect()); |
140 ASSERT_EQ(0, timedItem->currentIteration()); | 140 ASSERT_EQ(0, timedItem->currentIteration()); |
141 ASSERT_EQ(0, timedItem->startTime()); | 141 ASSERT_EQ(0, timedItem->startTime()); |
142 ASSERT_EQ(2, timedItem->activeDuration()); | 142 ASSERT_EQ(2, timedItem->activeDuration()); |
143 ASSERT_EQ(1, timedItem->timeFraction()); | 143 ASSERT_EQ(1, timedItem->timeFraction()); |
144 } | 144 } |
145 | 145 |
146 TEST(TimedItem, FillForwards) | 146 TEST(CoreAnimationTimedItemTest, FillForwards) |
147 { | 147 { |
148 Timing timing; | 148 Timing timing; |
149 timing.hasIterationDuration = true; | 149 timing.hasIterationDuration = true; |
150 timing.iterationDuration = 1; | 150 timing.iterationDuration = 1; |
151 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 151 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
152 | 152 |
153 timedItem->updateInheritedTime(-1); | 153 timedItem->updateInheritedTime(-1); |
154 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 154 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
155 | 155 |
156 timedItem->updateInheritedTime(2); | 156 timedItem->updateInheritedTime(2); |
157 ASSERT_EQ(1, timedItem->timeFraction()); | 157 ASSERT_EQ(1, timedItem->timeFraction()); |
158 } | 158 } |
159 | 159 |
160 TEST(TimedItem, FillBackwards) | 160 TEST(CoreAnimationTimedItemTest, FillBackwards) |
161 { | 161 { |
162 Timing timing; | 162 Timing timing; |
163 timing.hasIterationDuration = true; | 163 timing.hasIterationDuration = true; |
164 timing.iterationDuration = 1; | 164 timing.iterationDuration = 1; |
165 timing.fillMode = Timing::FillModeBackwards; | 165 timing.fillMode = Timing::FillModeBackwards; |
166 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 166 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
167 | 167 |
168 timedItem->updateInheritedTime(-1); | 168 timedItem->updateInheritedTime(-1); |
169 ASSERT_EQ(0, timedItem->timeFraction()); | 169 ASSERT_EQ(0, timedItem->timeFraction()); |
170 | 170 |
171 timedItem->updateInheritedTime(2); | 171 timedItem->updateInheritedTime(2); |
172 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 172 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
173 } | 173 } |
174 | 174 |
175 TEST(TimedItem, FillBoth) | 175 TEST(CoreAnimationTimedItemTest, FillBoth) |
176 { | 176 { |
177 Timing timing; | 177 Timing timing; |
178 timing.hasIterationDuration = true; | 178 timing.hasIterationDuration = true; |
179 timing.iterationDuration = 1; | 179 timing.iterationDuration = 1; |
180 timing.fillMode = Timing::FillModeBoth; | 180 timing.fillMode = Timing::FillModeBoth; |
181 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 181 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
182 | 182 |
183 timedItem->updateInheritedTime(-1); | 183 timedItem->updateInheritedTime(-1); |
184 ASSERT_EQ(0, timedItem->timeFraction()); | 184 ASSERT_EQ(0, timedItem->timeFraction()); |
185 | 185 |
186 timedItem->updateInheritedTime(2); | 186 timedItem->updateInheritedTime(2); |
187 ASSERT_EQ(1, timedItem->timeFraction()); | 187 ASSERT_EQ(1, timedItem->timeFraction()); |
188 } | 188 } |
189 | 189 |
190 TEST(TimedItem, StartDelay) | 190 TEST(CoreAnimationTimedItemTest, StartDelay) |
191 { | 191 { |
192 Timing timing; | 192 Timing timing; |
193 timing.hasIterationDuration = true; | 193 timing.hasIterationDuration = true; |
194 timing.iterationDuration = 1; | 194 timing.iterationDuration = 1; |
195 timing.startDelay = 0.5; | 195 timing.startDelay = 0.5; |
196 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 196 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
197 | 197 |
198 timedItem->updateInheritedTime(0); | 198 timedItem->updateInheritedTime(0); |
199 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 199 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
200 | 200 |
201 timedItem->updateInheritedTime(0.5); | 201 timedItem->updateInheritedTime(0.5); |
202 ASSERT_EQ(0, timedItem->timeFraction()); | 202 ASSERT_EQ(0, timedItem->timeFraction()); |
203 | 203 |
204 timedItem->updateInheritedTime(1.5); | 204 timedItem->updateInheritedTime(1.5); |
205 ASSERT_EQ(1, timedItem->timeFraction()); | 205 ASSERT_EQ(1, timedItem->timeFraction()); |
206 } | 206 } |
207 | 207 |
208 TEST(TimedItem, InfiniteIteration) | 208 TEST(CoreAnimationTimedItemTest, InfiniteIteration) |
209 { | 209 { |
210 Timing timing; | 210 Timing timing; |
211 timing.hasIterationDuration = true; | 211 timing.hasIterationDuration = true; |
212 timing.iterationDuration = 1; | 212 timing.iterationDuration = 1; |
213 timing.iterationCount = std::numeric_limits<double>::infinity(); | 213 timing.iterationCount = std::numeric_limits<double>::infinity(); |
214 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 214 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
215 | 215 |
216 timedItem->updateInheritedTime(-1); | 216 timedItem->updateInheritedTime(-1); |
217 ASSERT_TRUE(isNull(timedItem->currentIteration())); | 217 ASSERT_TRUE(isNull(timedItem->currentIteration())); |
218 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 218 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
219 | 219 |
220 ASSERT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration
()); | 220 ASSERT_EQ(std::numeric_limits<double>::infinity(), timedItem->activeDuration
()); |
221 | 221 |
222 timedItem->updateInheritedTime(0); | 222 timedItem->updateInheritedTime(0); |
223 ASSERT_EQ(0, timedItem->currentIteration()); | 223 ASSERT_EQ(0, timedItem->currentIteration()); |
224 ASSERT_EQ(0, timedItem->timeFraction()); | 224 ASSERT_EQ(0, timedItem->timeFraction()); |
225 } | 225 } |
226 | 226 |
227 TEST(TimedItem, Iteration) | 227 TEST(CoreAnimationTimedItemTest, Iteration) |
228 { | 228 { |
229 Timing timing; | 229 Timing timing; |
230 timing.iterationCount = 2; | 230 timing.iterationCount = 2; |
231 timing.hasIterationDuration = true; | 231 timing.hasIterationDuration = true; |
232 timing.iterationDuration = 2; | 232 timing.iterationDuration = 2; |
233 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 233 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
234 | 234 |
235 timedItem->updateInheritedTime(0); | 235 timedItem->updateInheritedTime(0); |
236 ASSERT_EQ(0, timedItem->currentIteration()); | 236 ASSERT_EQ(0, timedItem->currentIteration()); |
237 ASSERT_EQ(0, timedItem->timeFraction()); | 237 ASSERT_EQ(0, timedItem->timeFraction()); |
238 | 238 |
239 timedItem->updateInheritedTime(1); | 239 timedItem->updateInheritedTime(1); |
240 ASSERT_EQ(0, timedItem->currentIteration()); | 240 ASSERT_EQ(0, timedItem->currentIteration()); |
241 ASSERT_EQ(0.5, timedItem->timeFraction()); | 241 ASSERT_EQ(0.5, timedItem->timeFraction()); |
242 | 242 |
243 timedItem->updateInheritedTime(2); | 243 timedItem->updateInheritedTime(2); |
244 ASSERT_EQ(1, timedItem->currentIteration()); | 244 ASSERT_EQ(1, timedItem->currentIteration()); |
245 ASSERT_EQ(0, timedItem->timeFraction()); | 245 ASSERT_EQ(0, timedItem->timeFraction()); |
246 | 246 |
247 timedItem->updateInheritedTime(2); | 247 timedItem->updateInheritedTime(2); |
248 ASSERT_EQ(1, timedItem->currentIteration()); | 248 ASSERT_EQ(1, timedItem->currentIteration()); |
249 ASSERT_EQ(0, timedItem->timeFraction()); | 249 ASSERT_EQ(0, timedItem->timeFraction()); |
250 | 250 |
251 timedItem->updateInheritedTime(5); | 251 timedItem->updateInheritedTime(5); |
252 ASSERT_EQ(1, timedItem->currentIteration()); | 252 ASSERT_EQ(1, timedItem->currentIteration()); |
253 ASSERT_EQ(1, timedItem->timeFraction()); | 253 ASSERT_EQ(1, timedItem->timeFraction()); |
254 } | 254 } |
255 | 255 |
256 TEST(TimedItem, IterationStart) | 256 TEST(CoreAnimationTimedItemTest, IterationStart) |
257 { | 257 { |
258 Timing timing; | 258 Timing timing; |
259 timing.iterationStart = 1.2; | 259 timing.iterationStart = 1.2; |
260 timing.iterationCount = 2.2; | 260 timing.iterationCount = 2.2; |
261 timing.hasIterationDuration = true; | 261 timing.hasIterationDuration = true; |
262 timing.iterationDuration = 1; | 262 timing.iterationDuration = 1; |
263 timing.fillMode = Timing::FillModeBoth; | 263 timing.fillMode = Timing::FillModeBoth; |
264 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 264 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
265 | 265 |
266 timedItem->updateInheritedTime(-1); | 266 timedItem->updateInheritedTime(-1); |
267 ASSERT_EQ(1, timedItem->currentIteration()); | 267 ASSERT_EQ(1, timedItem->currentIteration()); |
268 ASSERT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); | 268 ASSERT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); |
269 | 269 |
270 timedItem->updateInheritedTime(0); | 270 timedItem->updateInheritedTime(0); |
271 ASSERT_EQ(1, timedItem->currentIteration()); | 271 ASSERT_EQ(1, timedItem->currentIteration()); |
272 ASSERT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); | 272 ASSERT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); |
273 | 273 |
274 timedItem->updateInheritedTime(10); | 274 timedItem->updateInheritedTime(10); |
275 ASSERT_EQ(3, timedItem->currentIteration()); | 275 ASSERT_EQ(3, timedItem->currentIteration()); |
276 ASSERT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); | 276 ASSERT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); |
277 } | 277 } |
278 | 278 |
279 TEST(TimedItem, IterationAlternate) | 279 TEST(CoreAnimationTimedItemTest, IterationAlternate) |
280 { | 280 { |
281 Timing timing; | 281 Timing timing; |
282 timing.iterationCount = 10; | 282 timing.iterationCount = 10; |
283 timing.hasIterationDuration = true; | 283 timing.hasIterationDuration = true; |
284 timing.iterationDuration = 1; | 284 timing.iterationDuration = 1; |
285 timing.direction = Timing::PlaybackDirectionAlternate; | 285 timing.direction = Timing::PlaybackDirectionAlternate; |
286 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 286 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
287 | 287 |
288 timedItem->updateInheritedTime(0.75); | 288 timedItem->updateInheritedTime(0.75); |
289 ASSERT_EQ(0, timedItem->currentIteration()); | 289 ASSERT_EQ(0, timedItem->currentIteration()); |
290 ASSERT_EQ(0.75, timedItem->timeFraction()); | 290 ASSERT_EQ(0.75, timedItem->timeFraction()); |
291 | 291 |
292 timedItem->updateInheritedTime(1.75); | 292 timedItem->updateInheritedTime(1.75); |
293 ASSERT_EQ(1, timedItem->currentIteration()); | 293 ASSERT_EQ(1, timedItem->currentIteration()); |
294 ASSERT_EQ(0.25, timedItem->timeFraction()); | 294 ASSERT_EQ(0.25, timedItem->timeFraction()); |
295 | 295 |
296 timedItem->updateInheritedTime(2.75); | 296 timedItem->updateInheritedTime(2.75); |
297 ASSERT_EQ(2, timedItem->currentIteration()); | 297 ASSERT_EQ(2, timedItem->currentIteration()); |
298 ASSERT_EQ(0.75, timedItem->timeFraction()); | 298 ASSERT_EQ(0.75, timedItem->timeFraction()); |
299 } | 299 } |
300 | 300 |
301 TEST(TimedItem, IterationAlternateReverse) | 301 TEST(CoreAnimationTimedItemTest, IterationAlternateReverse) |
302 { | 302 { |
303 Timing timing; | 303 Timing timing; |
304 timing.iterationCount = 10; | 304 timing.iterationCount = 10; |
305 timing.hasIterationDuration = true; | 305 timing.hasIterationDuration = true; |
306 timing.iterationDuration = 1; | 306 timing.iterationDuration = 1; |
307 timing.direction = Timing::PlaybackDirectionAlternateReverse; | 307 timing.direction = Timing::PlaybackDirectionAlternateReverse; |
308 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 308 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
309 | 309 |
310 timedItem->updateInheritedTime(0.75); | 310 timedItem->updateInheritedTime(0.75); |
311 ASSERT_EQ(0, timedItem->currentIteration()); | 311 ASSERT_EQ(0, timedItem->currentIteration()); |
312 ASSERT_EQ(0.25, timedItem->timeFraction()); | 312 ASSERT_EQ(0.25, timedItem->timeFraction()); |
313 | 313 |
314 timedItem->updateInheritedTime(1.75); | 314 timedItem->updateInheritedTime(1.75); |
315 ASSERT_EQ(1, timedItem->currentIteration()); | 315 ASSERT_EQ(1, timedItem->currentIteration()); |
316 ASSERT_EQ(0.75, timedItem->timeFraction()); | 316 ASSERT_EQ(0.75, timedItem->timeFraction()); |
317 | 317 |
318 timedItem->updateInheritedTime(2.75); | 318 timedItem->updateInheritedTime(2.75); |
319 ASSERT_EQ(2, timedItem->currentIteration()); | 319 ASSERT_EQ(2, timedItem->currentIteration()); |
320 ASSERT_EQ(0.25, timedItem->timeFraction()); | 320 ASSERT_EQ(0.25, timedItem->timeFraction()); |
321 } | 321 } |
322 | 322 |
323 TEST(TimedItem, ZeroDurationSanity) | 323 TEST(CoreAnimationTimedItemTest, ZeroDurationSanity) |
324 { | 324 { |
325 Timing timing; | 325 Timing timing; |
326 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 326 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
327 | 327 |
328 ASSERT_EQ(0, timedItem->startTime()); | 328 ASSERT_EQ(0, timedItem->startTime()); |
329 | 329 |
330 timedItem->updateInheritedTime(0); | 330 timedItem->updateInheritedTime(0); |
331 | 331 |
332 ASSERT_EQ(TimedItem::PhaseAfter, timedItem->phase()); | 332 ASSERT_EQ(TimedItem::PhaseAfter, timedItem->phase()); |
333 ASSERT_FALSE(timedItem->isInPlay()); | 333 ASSERT_FALSE(timedItem->isInPlay()); |
334 ASSERT_FALSE(timedItem->isCurrent()); | 334 ASSERT_FALSE(timedItem->isCurrent()); |
335 ASSERT_TRUE(timedItem->isInEffect()); | 335 ASSERT_TRUE(timedItem->isInEffect()); |
336 ASSERT_EQ(0, timedItem->currentIteration()); | 336 ASSERT_EQ(0, timedItem->currentIteration()); |
337 ASSERT_EQ(0, timedItem->startTime()); | 337 ASSERT_EQ(0, timedItem->startTime()); |
338 ASSERT_EQ(0, timedItem->activeDuration()); | 338 ASSERT_EQ(0, timedItem->activeDuration()); |
339 ASSERT_EQ(1, timedItem->timeFraction()); | 339 ASSERT_EQ(1, timedItem->timeFraction()); |
340 | 340 |
341 timedItem->updateInheritedTime(1); | 341 timedItem->updateInheritedTime(1); |
342 | 342 |
343 ASSERT_EQ(TimedItem::PhaseAfter, timedItem->phase()); | 343 ASSERT_EQ(TimedItem::PhaseAfter, timedItem->phase()); |
344 ASSERT_FALSE(timedItem->isInPlay()); | 344 ASSERT_FALSE(timedItem->isInPlay()); |
345 ASSERT_FALSE(timedItem->isCurrent()); | 345 ASSERT_FALSE(timedItem->isCurrent()); |
346 ASSERT_TRUE(timedItem->isInEffect()); | 346 ASSERT_TRUE(timedItem->isInEffect()); |
347 ASSERT_EQ(0, timedItem->currentIteration()); | 347 ASSERT_EQ(0, timedItem->currentIteration()); |
348 ASSERT_EQ(0, timedItem->startTime()); | 348 ASSERT_EQ(0, timedItem->startTime()); |
349 ASSERT_EQ(0, timedItem->activeDuration()); | 349 ASSERT_EQ(0, timedItem->activeDuration()); |
350 ASSERT_EQ(1, timedItem->timeFraction()); | 350 ASSERT_EQ(1, timedItem->timeFraction()); |
351 } | 351 } |
352 | 352 |
353 TEST(TimedItem, ZeroDurationFillForwards) | 353 TEST(CoreAnimationTimedItemTest, ZeroDurationFillForwards) |
354 { | 354 { |
355 Timing timing; | 355 Timing timing; |
356 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 356 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
357 | 357 |
358 timedItem->updateInheritedTime(-1); | 358 timedItem->updateInheritedTime(-1); |
359 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 359 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
360 | 360 |
361 timedItem->updateInheritedTime(0); | 361 timedItem->updateInheritedTime(0); |
362 ASSERT_EQ(1, timedItem->timeFraction()); | 362 ASSERT_EQ(1, timedItem->timeFraction()); |
363 | 363 |
364 timedItem->updateInheritedTime(1); | 364 timedItem->updateInheritedTime(1); |
365 ASSERT_EQ(1, timedItem->timeFraction()); | 365 ASSERT_EQ(1, timedItem->timeFraction()); |
366 } | 366 } |
367 | 367 |
368 TEST(TimedItem, ZeroDurationFillBackwards) | 368 TEST(CoreAnimationTimedItemTest, ZeroDurationFillBackwards) |
369 { | 369 { |
370 Timing timing; | 370 Timing timing; |
371 timing.fillMode = Timing::FillModeBackwards; | 371 timing.fillMode = Timing::FillModeBackwards; |
372 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 372 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
373 | 373 |
374 timedItem->updateInheritedTime(-1); | 374 timedItem->updateInheritedTime(-1); |
375 ASSERT_EQ(0, timedItem->timeFraction()); | 375 ASSERT_EQ(0, timedItem->timeFraction()); |
376 | 376 |
377 timedItem->updateInheritedTime(0); | 377 timedItem->updateInheritedTime(0); |
378 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 378 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
379 | 379 |
380 timedItem->updateInheritedTime(1); | 380 timedItem->updateInheritedTime(1); |
381 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 381 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
382 } | 382 } |
383 | 383 |
384 TEST(TimedItem, ZeroDurationFillBoth) | 384 TEST(CoreAnimationTimedItemTest, ZeroDurationFillBoth) |
385 { | 385 { |
386 Timing timing; | 386 Timing timing; |
387 timing.fillMode = Timing::FillModeBoth; | 387 timing.fillMode = Timing::FillModeBoth; |
388 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 388 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
389 | 389 |
390 timedItem->updateInheritedTime(-1); | 390 timedItem->updateInheritedTime(-1); |
391 ASSERT_EQ(0, timedItem->timeFraction()); | 391 ASSERT_EQ(0, timedItem->timeFraction()); |
392 | 392 |
393 timedItem->updateInheritedTime(0); | 393 timedItem->updateInheritedTime(0); |
394 ASSERT_EQ(1, timedItem->timeFraction()); | 394 ASSERT_EQ(1, timedItem->timeFraction()); |
395 | 395 |
396 timedItem->updateInheritedTime(1); | 396 timedItem->updateInheritedTime(1); |
397 ASSERT_EQ(1, timedItem->timeFraction()); | 397 ASSERT_EQ(1, timedItem->timeFraction()); |
398 } | 398 } |
399 | 399 |
400 TEST(TimedItem, ZeroDurationStartDelay) | 400 TEST(CoreAnimationTimedItemTest, ZeroDurationStartDelay) |
401 { | 401 { |
402 Timing timing; | 402 Timing timing; |
403 timing.startDelay = 0.5; | 403 timing.startDelay = 0.5; |
404 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 404 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
405 | 405 |
406 timedItem->updateInheritedTime(0); | 406 timedItem->updateInheritedTime(0); |
407 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 407 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
408 | 408 |
409 timedItem->updateInheritedTime(0.5); | 409 timedItem->updateInheritedTime(0.5); |
410 ASSERT_EQ(1, timedItem->timeFraction()); | 410 ASSERT_EQ(1, timedItem->timeFraction()); |
411 | 411 |
412 timedItem->updateInheritedTime(1.5); | 412 timedItem->updateInheritedTime(1.5); |
413 ASSERT_EQ(1, timedItem->timeFraction()); | 413 ASSERT_EQ(1, timedItem->timeFraction()); |
414 } | 414 } |
415 | 415 |
416 TEST(TimedItem, ZeroDurationIterationStartAndCount) | 416 TEST(CoreAnimationTimedItemTest, ZeroDurationIterationStartAndCount) |
417 { | 417 { |
418 Timing timing; | 418 Timing timing; |
419 timing.iterationStart = 0.1; | 419 timing.iterationStart = 0.1; |
420 timing.iterationCount = 0.2; | 420 timing.iterationCount = 0.2; |
421 timing.fillMode = Timing::FillModeBoth; | 421 timing.fillMode = Timing::FillModeBoth; |
422 timing.startDelay = 0.3; | 422 timing.startDelay = 0.3; |
423 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 423 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
424 | 424 |
425 timedItem->updateInheritedTime(0); | 425 timedItem->updateInheritedTime(0); |
426 ASSERT_EQ(0.1, timedItem->timeFraction()); | 426 ASSERT_EQ(0.1, timedItem->timeFraction()); |
427 | 427 |
428 timedItem->updateInheritedTime(0.3); | 428 timedItem->updateInheritedTime(0.3); |
429 ASSERT_DOUBLE_EQ(0.3, timedItem->timeFraction()); | 429 ASSERT_DOUBLE_EQ(0.3, timedItem->timeFraction()); |
430 | 430 |
431 timedItem->updateInheritedTime(1); | 431 timedItem->updateInheritedTime(1); |
432 ASSERT_DOUBLE_EQ(0.3, timedItem->timeFraction()); | 432 ASSERT_DOUBLE_EQ(0.3, timedItem->timeFraction()); |
433 } | 433 } |
434 | 434 |
435 // FIXME: Needs specification work -- ASSERTION FAILED: activeDuration >= 0 | 435 // FIXME: Needs specification work -- ASSERTION FAILED: activeDuration >= 0 |
436 TEST(TimedItem, DISABLED_ZeroDurationInfiniteIteration) | 436 TEST(CoreAnimationTimedItemTest, DISABLED_ZeroDurationInfiniteIteration) |
437 { | 437 { |
438 Timing timing; | 438 Timing timing; |
439 timing.iterationCount = std::numeric_limits<double>::infinity(); | 439 timing.iterationCount = std::numeric_limits<double>::infinity(); |
440 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 440 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
441 | 441 |
442 timedItem->updateInheritedTime(-1); | 442 timedItem->updateInheritedTime(-1); |
443 ASSERT_TRUE(isNull(timedItem->currentIteration())); | 443 ASSERT_TRUE(isNull(timedItem->currentIteration())); |
444 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 444 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
445 ASSERT_TRUE(isNull(timedItem->activeDuration())); | 445 ASSERT_TRUE(isNull(timedItem->activeDuration())); |
446 | 446 |
447 timedItem->updateInheritedTime(0); | 447 timedItem->updateInheritedTime(0); |
448 ASSERT_EQ(std::numeric_limits<double>::infinity(), timedItem->currentIterati
on()); | 448 ASSERT_EQ(std::numeric_limits<double>::infinity(), timedItem->currentIterati
on()); |
449 ASSERT_EQ(1, timedItem->timeFraction()); | 449 ASSERT_EQ(1, timedItem->timeFraction()); |
450 } | 450 } |
451 | 451 |
452 TEST(TimedItem, ZeroDurationIteration) | 452 TEST(CoreAnimationTimedItemTest, ZeroDurationIteration) |
453 { | 453 { |
454 Timing timing; | 454 Timing timing; |
455 timing.iterationCount = 2; | 455 timing.iterationCount = 2; |
456 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 456 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
457 | 457 |
458 timedItem->updateInheritedTime(-1); | 458 timedItem->updateInheritedTime(-1); |
459 ASSERT_TRUE(isNull(timedItem->currentIteration())); | 459 ASSERT_TRUE(isNull(timedItem->currentIteration())); |
460 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 460 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
461 | 461 |
462 timedItem->updateInheritedTime(0); | 462 timedItem->updateInheritedTime(0); |
463 ASSERT_EQ(1, timedItem->currentIteration()); | 463 ASSERT_EQ(1, timedItem->currentIteration()); |
464 ASSERT_EQ(1, timedItem->timeFraction()); | 464 ASSERT_EQ(1, timedItem->timeFraction()); |
465 | 465 |
466 timedItem->updateInheritedTime(1); | 466 timedItem->updateInheritedTime(1); |
467 ASSERT_EQ(1, timedItem->currentIteration()); | 467 ASSERT_EQ(1, timedItem->currentIteration()); |
468 ASSERT_EQ(1, timedItem->timeFraction()); | 468 ASSERT_EQ(1, timedItem->timeFraction()); |
469 } | 469 } |
470 | 470 |
471 TEST(TimedItem, ZeroDurationIterationStart) | 471 TEST(CoreAnimationTimedItemTest, ZeroDurationIterationStart) |
472 { | 472 { |
473 Timing timing; | 473 Timing timing; |
474 timing.iterationStart = 1.2; | 474 timing.iterationStart = 1.2; |
475 timing.iterationCount = 2.2; | 475 timing.iterationCount = 2.2; |
476 timing.fillMode = Timing::FillModeBoth; | 476 timing.fillMode = Timing::FillModeBoth; |
477 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 477 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
478 | 478 |
479 timedItem->updateInheritedTime(-1); | 479 timedItem->updateInheritedTime(-1); |
480 ASSERT_EQ(1, timedItem->currentIteration()); | 480 ASSERT_EQ(1, timedItem->currentIteration()); |
481 ASSERT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); | 481 ASSERT_NEAR(0.2, timedItem->timeFraction(), 0.000000000000001); |
482 | 482 |
483 timedItem->updateInheritedTime(0); | 483 timedItem->updateInheritedTime(0); |
484 ASSERT_EQ(3, timedItem->currentIteration()); | 484 ASSERT_EQ(3, timedItem->currentIteration()); |
485 ASSERT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); | 485 ASSERT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); |
486 | 486 |
487 timedItem->updateInheritedTime(10); | 487 timedItem->updateInheritedTime(10); |
488 ASSERT_EQ(3, timedItem->currentIteration()); | 488 ASSERT_EQ(3, timedItem->currentIteration()); |
489 ASSERT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); | 489 ASSERT_NEAR(0.4, timedItem->timeFraction(), 0.000000000000001); |
490 } | 490 } |
491 | 491 |
492 TEST(TimedItem, ZeroDurationIterationAlternate) | 492 TEST(CoreAnimationTimedItemTest, ZeroDurationIterationAlternate) |
493 { | 493 { |
494 Timing timing; | 494 Timing timing; |
495 timing.iterationCount = 2; | 495 timing.iterationCount = 2; |
496 timing.direction = Timing::PlaybackDirectionAlternate; | 496 timing.direction = Timing::PlaybackDirectionAlternate; |
497 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 497 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
498 | 498 |
499 timedItem->updateInheritedTime(-1); | 499 timedItem->updateInheritedTime(-1); |
500 ASSERT_TRUE(isNull(timedItem->currentIteration())); | 500 ASSERT_TRUE(isNull(timedItem->currentIteration())); |
501 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 501 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
502 | 502 |
503 timedItem->updateInheritedTime(0); | 503 timedItem->updateInheritedTime(0); |
504 ASSERT_EQ(1, timedItem->currentIteration()); | 504 ASSERT_EQ(1, timedItem->currentIteration()); |
505 ASSERT_EQ(0, timedItem->timeFraction()); | 505 ASSERT_EQ(0, timedItem->timeFraction()); |
506 | 506 |
507 timedItem->updateInheritedTime(1); | 507 timedItem->updateInheritedTime(1); |
508 ASSERT_EQ(1, timedItem->currentIteration()); | 508 ASSERT_EQ(1, timedItem->currentIteration()); |
509 ASSERT_EQ(0, timedItem->timeFraction()); | 509 ASSERT_EQ(0, timedItem->timeFraction()); |
510 } | 510 } |
511 | 511 |
512 TEST(TimedItem, ZeroDurationIterationAlternateReverse) | 512 TEST(CoreAnimationTimedItemTest, ZeroDurationIterationAlternateReverse) |
513 { | 513 { |
514 Timing timing; | 514 Timing timing; |
515 timing.iterationCount = 2; | 515 timing.iterationCount = 2; |
516 timing.direction = Timing::PlaybackDirectionAlternateReverse; | 516 timing.direction = Timing::PlaybackDirectionAlternateReverse; |
517 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 517 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
518 | 518 |
519 timedItem->updateInheritedTime(-1); | 519 timedItem->updateInheritedTime(-1); |
520 ASSERT_TRUE(isNull(timedItem->currentIteration())); | 520 ASSERT_TRUE(isNull(timedItem->currentIteration())); |
521 ASSERT_TRUE(isNull(timedItem->timeFraction())); | 521 ASSERT_TRUE(isNull(timedItem->timeFraction())); |
522 | 522 |
523 timedItem->updateInheritedTime(0); | 523 timedItem->updateInheritedTime(0); |
524 ASSERT_EQ(1, timedItem->currentIteration()); | 524 ASSERT_EQ(1, timedItem->currentIteration()); |
525 ASSERT_EQ(1, timedItem->timeFraction()); | 525 ASSERT_EQ(1, timedItem->timeFraction()); |
526 | 526 |
527 timedItem->updateInheritedTime(1); | 527 timedItem->updateInheritedTime(1); |
528 ASSERT_EQ(1, timedItem->currentIteration()); | 528 ASSERT_EQ(1, timedItem->currentIteration()); |
529 ASSERT_EQ(1, timedItem->timeFraction()); | 529 ASSERT_EQ(1, timedItem->timeFraction()); |
530 } | 530 } |
531 | 531 |
532 TEST(TimedItem, Events) | 532 TEST(CoreAnimationTimedItemTest, Events) |
533 { | 533 { |
534 Timing timing; | 534 Timing timing; |
535 timing.hasIterationDuration = true; | 535 timing.hasIterationDuration = true; |
536 timing.iterationDuration = 1; | 536 timing.iterationDuration = 1; |
537 timing.iterationCount = 2; | 537 timing.iterationCount = 2; |
538 timing.startDelay = 1; | 538 timing.startDelay = 1; |
539 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); | 539 RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing); |
540 | 540 |
541 // First sample | 541 // First sample |
542 timedItem->updateInheritedTime(0.0); | 542 timedItem->updateInheritedTime(0.0); |
(...skipping 24 matching lines...) Expand all Loading... |
567 // After end | 567 // After end |
568 timedItem->updateInheritedTime(3.5); | 568 timedItem->updateInheritedTime(3.5); |
569 ASSERT_TRUE(timedItem->eventDelegate()->eventTriggered()); | 569 ASSERT_TRUE(timedItem->eventDelegate()->eventTriggered()); |
570 EXPECT_TRUE(timedItem->eventDelegate()->phaseChanged()); | 570 EXPECT_TRUE(timedItem->eventDelegate()->phaseChanged()); |
571 EXPECT_FALSE(timedItem->eventDelegate()->iterationChanged()); | 571 EXPECT_FALSE(timedItem->eventDelegate()->iterationChanged()); |
572 | 572 |
573 timedItem->updateInheritedTime(3.6); | 573 timedItem->updateInheritedTime(3.6); |
574 ASSERT_FALSE(timedItem->eventDelegate()->eventTriggered()); | 574 ASSERT_FALSE(timedItem->eventDelegate()->eventTriggered()); |
575 } | 575 } |
576 } | 576 } |
OLD | NEW |