| Index: Source/core/animation/TimedItemTest.cpp
|
| diff --git a/Source/core/animation/TimedItemTest.cpp b/Source/core/animation/TimedItemTest.cpp
|
| index 22c10a49b81c30e63fe4b4185ccb8e049485c350..7de505734385b099b82b9f1dd233a01cb301d26d 100644
|
| --- a/Source/core/animation/TimedItemTest.cpp
|
| +++ b/Source/core/animation/TimedItemTest.cpp
|
| @@ -39,10 +39,11 @@ namespace {
|
|
|
| class TestTimedItemEventDelegate : public TimedItemEventDelegate {
|
| public:
|
| - void onEventCondition(bool wasInPlay, bool isInPlay, double previousIteration, double currentIteration) OVERRIDE
|
| + void onEventCondition(bool wasInPlay, bool isInPlay, bool wasCurrent, bool isCurrent, double previousIteration, double currentIteration) OVERRIDE
|
| {
|
| m_eventTriggered = true;
|
| - m_playStateChanged = wasInPlay != isInPlay;
|
| + m_inPlayStateChanged = wasInPlay != isInPlay;
|
| + m_currentStateChanged = wasCurrent != isCurrent;
|
| m_iterationChanged = isInPlay && previousIteration != currentIteration;
|
| if (isInPlay)
|
| ASSERT(!isNull(currentIteration));
|
| @@ -51,16 +52,19 @@ public:
|
| void reset()
|
| {
|
| m_eventTriggered = false;
|
| - m_playStateChanged = false;
|
| + m_inPlayStateChanged = false;
|
| + m_currentStateChanged = false;
|
| m_iterationChanged = false;
|
| }
|
| bool eventTriggered() { return m_eventTriggered; }
|
| - bool playStateChanged() { return m_playStateChanged; }
|
| + bool inPlayStateChanged() { return m_inPlayStateChanged; }
|
| + bool currentStateChanged() { return m_currentStateChanged; }
|
| bool iterationChanged() { return m_iterationChanged; }
|
|
|
| private:
|
| bool m_eventTriggered;
|
| - bool m_playStateChanged;
|
| + bool m_inPlayStateChanged;
|
| + bool m_currentStateChanged;
|
| bool m_iterationChanged;
|
| };
|
|
|
| @@ -101,13 +105,7 @@ TEST(TimedItem, Sanity)
|
| timing.iterationDuration = 2;
|
| RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
|
|
|
| - ASSERT_FALSE(timedItem->isCurrent());
|
| - ASSERT_FALSE(timedItem->isInEffect());
|
| - ASSERT_FALSE(timedItem->isInPlay());
|
| - ASSERT_TRUE(isNull(timedItem->currentIteration()));
|
| ASSERT_EQ(0, timedItem->startTime());
|
| - ASSERT_TRUE(isNull(timedItem->activeDuration()));
|
| - ASSERT_TRUE(isNull(timedItem->timeFraction()));
|
|
|
| timedItem->updateInheritedTime(0);
|
|
|
| @@ -332,13 +330,7 @@ TEST(TimedItem, ZeroDurationSanity)
|
| Timing timing;
|
| RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
|
|
|
| - ASSERT_FALSE(timedItem->isInPlay());
|
| - ASSERT_FALSE(timedItem->isCurrent());
|
| - ASSERT_FALSE(timedItem->isInEffect());
|
| - ASSERT_TRUE(isNull(timedItem->currentIteration()));
|
| ASSERT_EQ(0, timedItem->startTime());
|
| - ASSERT_TRUE(isNull(timedItem->activeDuration()));
|
| - ASSERT_TRUE(isNull(timedItem->timeFraction()));
|
|
|
| timedItem->updateInheritedTime(0);
|
|
|
| @@ -546,32 +538,44 @@ TEST(TimedItem, Events)
|
| timing.hasIterationDuration = true;
|
| timing.iterationDuration = 1;
|
| timing.iterationCount = 2;
|
| + timing.startDelay = 1;
|
| RefPtr<TestTimedItem> timedItem = TestTimedItem::create(timing);
|
|
|
| - timedItem->updateInheritedTime(0.3);
|
| - ASSERT_TRUE(timedItem->eventDelegate()->eventTriggered());
|
| - EXPECT_TRUE(timedItem->eventDelegate()->playStateChanged());
|
| - EXPECT_TRUE(timedItem->eventDelegate()->iterationChanged());
|
| + // Before start
|
| + timedItem->updateInheritedTime(0.0);
|
| + ASSERT_FALSE(timedItem->eventDelegate()->eventTriggered());
|
|
|
| - timedItem->updateInheritedTime(0.6);
|
| + timedItem->updateInheritedTime(0.5);
|
| ASSERT_FALSE(timedItem->eventDelegate()->eventTriggered());
|
|
|
| + // First iteration
|
| timedItem->updateInheritedTime(1.5);
|
| ASSERT_TRUE(timedItem->eventDelegate()->eventTriggered());
|
| + EXPECT_TRUE(timedItem->eventDelegate()->inPlayStateChanged());
|
| + EXPECT_FALSE(timedItem->eventDelegate()->currentStateChanged());
|
| EXPECT_TRUE(timedItem->eventDelegate()->iterationChanged());
|
| - EXPECT_FALSE(timedItem->eventDelegate()->playStateChanged());
|
|
|
| + timedItem->updateInheritedTime(1.6);
|
| + ASSERT_FALSE(timedItem->eventDelegate()->eventTriggered());
|
| +
|
| + // Second iteration
|
| timedItem->updateInheritedTime(2.5);
|
| ASSERT_TRUE(timedItem->eventDelegate()->eventTriggered());
|
| - EXPECT_FALSE(timedItem->eventDelegate()->iterationChanged());
|
| - EXPECT_TRUE(timedItem->eventDelegate()->playStateChanged());
|
| + EXPECT_FALSE(timedItem->eventDelegate()->inPlayStateChanged());
|
| + EXPECT_FALSE(timedItem->eventDelegate()->currentStateChanged());
|
| + EXPECT_TRUE(timedItem->eventDelegate()->iterationChanged());
|
|
|
| - timedItem->updateInheritedTime(3);
|
| + timedItem->updateInheritedTime(2.6);
|
| ASSERT_FALSE(timedItem->eventDelegate()->eventTriggered());
|
|
|
| - timedItem->updateInheritedTime(1.5);
|
| + // After end
|
| + timedItem->updateInheritedTime(3.5);
|
| ASSERT_TRUE(timedItem->eventDelegate()->eventTriggered());
|
| + EXPECT_TRUE(timedItem->eventDelegate()->inPlayStateChanged());
|
| + EXPECT_TRUE(timedItem->eventDelegate()->currentStateChanged());
|
| EXPECT_FALSE(timedItem->eventDelegate()->iterationChanged());
|
| - EXPECT_TRUE(timedItem->eventDelegate()->playStateChanged());
|
| +
|
| + timedItem->updateInheritedTime(3.6);
|
| + ASSERT_FALSE(timedItem->eventDelegate()->eventTriggered());
|
| }
|
| }
|
|
|