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

Unified Diff: Source/core/animation/DocumentTimelineTest.cpp

Issue 46043014: Web Animations CSS: Unfreeze AnimationClock if sampling timelines does not trigger style recalc (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Really fix unit tests Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/animation/DocumentTimelineTest.cpp
diff --git a/Source/core/animation/DocumentTimelineTest.cpp b/Source/core/animation/DocumentTimelineTest.cpp
index 1b5f8f7ad6637a2782a69f14ba530173b9833b1f..897bab2dc4501fb24b02dfa733170f3cae8431eb 100644
--- a/Source/core/animation/DocumentTimelineTest.cpp
+++ b/Source/core/animation/DocumentTimelineTest.cpp
@@ -114,7 +114,6 @@ protected:
{
return DocumentTimeline::s_minimumDelay;
}
-
};
TEST_F(CoreAnimationDocumentTimelineTest, EmptyKeyframeAnimation)
@@ -134,22 +133,56 @@ TEST_F(CoreAnimationDocumentTimelineTest, EmptyKeyframeAnimation)
EXPECT_FLOAT_EQ(100, timeline->currentTime());
}
-TEST_F(CoreAnimationDocumentTimelineTest, ZeroTimeAsPerfTime)
+TEST_F(CoreAnimationDocumentTimelineTest, EmptyTimelineDoesNotFreezeTime)
{
- timeline = DocumentTimeline::create(document.get());
+ timeline->serviceAnimations(100);
+ EXPECT_NE(100, timeline->currentTime());
+}
+
+TEST_F(CoreAnimationDocumentTimelineTest, EmptyPlayerDoesNotFreezeTime)
+{
+ timeline->play(0);
+ timeline->serviceAnimations(100);
+ EXPECT_NE(100, timeline->currentTime());
+}
+
+TEST_F(CoreAnimationDocumentTimelineTest, EmptyTargetDoesNotFreezeTime)
+{
+ timing.iterationDuration = 200;
+ timeline->play(Animation::create(0, KeyframeAnimationEffect::create(KeyframeAnimationEffect::KeyframeVector()), timing).get());
+ timeline->serviceAnimations(100);
+ EXPECT_NE(100, timeline->currentTime());
+}
+TEST_F(CoreAnimationDocumentTimelineTest, EmptyEffectDoesNotFreezeTime)
+{
+ timeline->play(Animation::create(element.get(), 0, timing).get());
+ timeline->serviceAnimations(100);
+ EXPECT_NE(100, timeline->currentTime());
+}
+
+TEST_F(CoreAnimationDocumentTimelineTest, FreezeTime)
+{
+ timeline->play(Animation::create(element.get(), KeyframeAnimationEffect::create(KeyframeAnimationEffect::KeyframeVector()), timing).get());
timeline->serviceAnimations(100);
+ EXPECT_EQ(100, timeline->currentTime());
+}
+
+TEST_F(CoreAnimationDocumentTimelineTest, ZeroTime)
+{
+ timeline = DocumentTimeline::create(document.get());
+
+ document->animationClock().updateTime(100);
EXPECT_TRUE(isNull(timeline->currentTime()));
- timeline->serviceAnimations(200);
+ document->animationClock().updateTime(200);
EXPECT_TRUE(isNull(timeline->currentTime()));
timeline->setZeroTime(300);
document->animationClock().updateTime(300);
- timeline->serviceAnimations(300);
EXPECT_EQ(0, timeline->currentTime());
- timeline->serviceAnimations(400);
+ document->animationClock().updateTime(400);
EXPECT_EQ(100, timeline->currentTime());
}
@@ -215,7 +248,6 @@ TEST_F(CoreAnimationDocumentTimelineTest, NumberOfActiveAnimations)
TEST_F(CoreAnimationDocumentTimelineTest, DelayBeforeAnimationStart)
{
-
timing.hasIterationDuration = true;
timing.iterationDuration = 2;
timing.startDelay = 5;

Powered by Google App Engine
This is Rietveld 408576698