1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/smil/test/test_smilReset.xhtml Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,82 @@ 1.4 +<html xmlns="http://www.w3.org/1999/xhtml"> 1.5 +<head> 1.6 + <title>Tests for SMIL Reset Behavior </title> 1.7 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.8 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.9 +</head> 1.10 +<body> 1.11 +<p id="display"></p> 1.12 +<div id="content" style="display: none"> 1.13 +<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="120px" height="120px" 1.14 + onload="this.pauseAnimations()"> 1.15 + <circle cx="20" cy="20" r="15" fill="blue"> 1.16 + <animate attributeName="cx" from="20" to="100" begin="2s" dur="4s" 1.17 + id="anim1" attributeType="XML"/> 1.18 + </circle> 1.19 +</svg> 1.20 +</div> 1.21 +<pre id="test"> 1.22 +<script class="testbody" type="text/javascript"> 1.23 +<![CDATA[ 1.24 +/** Tests for SMIL Reset Behavior **/ 1.25 + 1.26 +SimpleTest.waitForExplicitFinish(); 1.27 + 1.28 +function main() { 1.29 + var svg = document.getElementById("svg"); 1.30 + ok(svg.animationsPaused(), "should be paused by <svg> load handler"); 1.31 + is(svg.getCurrentTime(), 0, "should be paused at 0 in <svg> load handler"); 1.32 + 1.33 + var anim = document.getElementById("anim1"); 1.34 + is(anim.getStartTime(), 2, "Unexpected initial start time"); 1.35 + 1.36 + svg.setCurrentTime(1); 1.37 + anim.beginElementAt(2); 1.38 + 1.39 + // We now have two instance times: 2, 3 1.40 + 1.41 + // Restart (and reset) animation at t=1 1.42 + anim.beginElement(); 1.43 + 1.44 + // Instance times should now be 1, 2 (3 should have be reset) 1.45 + is(anim.getStartTime(), 1, 1.46 + "Unexpected start time after restart. Perhaps the added instance time " 1.47 + + "was cleared"); 1.48 + svg.setCurrentTime(4); 1.49 + // Instance times will now be 2 (1 will have be reset when we restarted) 1.50 + is(anim.getStartTime(), 2, "Unexpected start time after seek"); 1.51 + 1.52 + // Create a two new instance times at t=4, 5 1.53 + anim.beginElement(); 1.54 + anim.beginElementAt(1); 1.55 + is(anim.getStartTime(), 4, "Unexpected start time after beginElement"); 1.56 + 1.57 + // Here is a white box test to make sure we don't discard instance times 1.58 + // created by DOM calls when setting/unsetting the 'begin' spec 1.59 + anim.removeAttribute('begin'); 1.60 + is(anim.getStartTime(), 4, "Unexpected start time after clearing begin spec"); 1.61 + svg.setCurrentTime(6); 1.62 + is(anim.getStartTime(), 5, 1.63 + "Second DOM instance time cleared when begin spec was removed"); 1.64 + 1.65 + // And likewise, when we set it again 1.66 + anim.beginElementAt(1); // Instance times now t=5s, 7s 1.67 + anim.setAttribute('begin', '1s'); // + t=1s 1.68 + is(anim.getStartTime(), 5, "Unexpected start time after setting begin spec"); 1.69 + svg.setCurrentTime(8); 1.70 + is(anim.getStartTime(), 7, 1.71 + "Second DOM instance time cleared when begin spec was added"); 1.72 + 1.73 + // But check we do update state appropriately 1.74 + anim.setAttribute('begin', '8s'); 1.75 + is(anim.getStartTime(), 8, "Interval not updated with updated begin spec"); 1.76 + 1.77 + SimpleTest.finish(); 1.78 +} 1.79 + 1.80 +window.addEventListener("load", main, false); 1.81 +]]> 1.82 +</script> 1.83 +</pre> 1.84 +</body> 1.85 +</html>