Index: LayoutTests/svg/animations/svg-animation-policy-once.html |
diff --git a/LayoutTests/svg/animations/svg-animation-policy-once.html b/LayoutTests/svg/animations/svg-animation-policy-once.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..587655b423d4e18097431a1d348b9360b128d2ba |
--- /dev/null |
+++ b/LayoutTests/svg/animations/svg-animation-policy-once.html |
@@ -0,0 +1,69 @@ |
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
+<script src="../../resources/js-test.js"></script> |
+<script src="resources/SVGTestCase.js"></script> |
fs
2014/12/25 17:32:07
Are these really needed except for the "embedSVGTe
je_julie(Not used)
2014/12/27 07:08:53
I removed that script external link and I added AP
|
+<script src="resources/SVGAnimationTestCase.js"></script> |
+<script> |
+if (window.internals) |
+ internals.settings.setImageAnimationPolicy("once"); |
+ |
+embedSVGTestCase("resources/animation-policy.svg"); |
+function timerFiredSecond() |
+{ |
+ // It should be true because animation is freezed by animation policy. |
fs
2014/12/25 17:32:07
Nit: s/freezed/frozen/
You could probably also s/
je_julie(Not used)
2014/12/27 07:08:53
Done.
|
+ shouldBeTrue("rootSVGElement.animationsPaused()"); |
+ |
+ if (window.testRunner) |
+ testRunner.notifyDone(); |
+} |
+ |
+function timerFiredFirst() |
+{ |
+ // It should be true because animation is freezed by animation policy. |
+ shouldBeTrue("rootSVGElement.animationsPaused()"); |
+ |
+ rootSVGElement.pauseAnimations(); |
+ shouldBeTrue("rootSVGElement.animationsPaused()"); |
+ |
+ // It should be animated after SVG is resumed. |
+ rootSVGElement.unpauseAnimations(); |
+ shouldBeFalse("rootSVGElement.animationsPaused()"); |
+ rootSVGElement.setCurrentTime(5.0); |
+ shouldBe("rootSVGElement.getCurrentTime()", "5.0"); |
+ shouldBeCloseEnough("rect.y.animVal.value", "100"); |
+ shouldBeFalse("rootSVGElement.animationsPaused()"); |
+ |
+ setTimeout(timerFiredSecond, 3000); |
+} |
+ |
+function runTest() { |
+ // SVG is not suspened. |
+ rootSVGElement.setCurrentTime(2.5); |
+ shouldBeFalse("rootSVGElement.animationsPaused()"); |
+ shouldBe("rootSVGElement.getCurrentTime()", "2.5"); |
+ shouldBeCloseEnough("rect.y.animVal.value", "100"); |
+ |
+ // setTimeout. It will be fired after animation is freezed. |
+ // It's to check working after animation policy timer is fired. |
+ // animation policy timer is 3 secs. |
+ setTimeout(timerFiredFirst, 3000); |
fs
2014/12/25 17:32:07
A 6+ seconds test - ouch =/ Could we at the very l
je_julie(Not used)
2014/12/27 07:08:53
I updated test flow a little bit.
I rearranged tes
|
+} |
+ |
+function prepareTest() { |
+ rect = rootSVGElement.ownerDocument.getElementsByTagName("rect")[0]; |
+ description("This tests svg animation with animation policy once"); |
+ |
+ if (window.testRunner) { |
fs
2014/12/25 17:32:07
Might as well do this just after the setImageAnima
je_julie(Not used)
2014/12/27 07:08:53
Done.
|
+ testRunner.dumpAsText(); |
+ testRunner.waitUntilDone(); |
+ } |
+ |
+ // Check SVG is not paused. |
+ shouldBeFalse("rootSVGElement.animationsPaused()"); |
+ setTimeout(runTest(), 0); |
fs
2014/12/25 17:32:07
Drop the () - or the setTimeout?
je_julie(Not used)
2014/12/27 07:08:53
Done.
|
+} |
+</script> |
+<body onload="prepareTest()"> |
+<h1>SVG with animation policy, once</h1> |
+<p id="description"></p> |
+<div id="console"></div> |
+</body> |