Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_smilGetStartTime.xhtml   Sprache: unbekannt

 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Test for getStartTime Behavior </title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="120px" height="120px"
     onload="this.pauseAnimations()">
  <circle cx="20" cy="20" r="15" fill="blue">
    <animate attributeName="cx" attributeType="XML" 
      from="20" to="100" begin="indefinite" dur="1s" id="anim"/>
  </circle>
</svg>
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
<![CDATA[
/** Test for getStartTime Behavior  **/

SimpleTest.waitForExplicitFinish();

function main() {
  var svg = document.getElementById("svg");
  ok(svg.animationsPaused(), "should be paused by <svg> load handler");
  is(svg.getCurrentTime(), 0, "should be paused at 0 in <svg> load handler");

  var anim = document.getElementById("anim");
  // indefinite 
  var exceptionCaught = false;
  try {
    anim.getStartTime();
  } catch(e) {
    exceptionCaught = true;
    is(e.name, "InvalidStateError",
       "Unexpected exception from getStartTime.");
    is(e.code, DOMException.INVALID_STATE_ERR,
       "Unexpected exception code from getStartTime.");
  }
  ok(exceptionCaught, "No exception thrown for indefinite start time.");

  // 1s
  anim.setAttribute("begin", "1s");
  is(anim.getStartTime(), 1, "Unexpected start time with begin=1s");

  // We have to be careful here when choosing a negative time that we choose
  // a time that will create an interval that reaches past t=0 as SMIL has
  // special rules for throwing away intervals that end before t=0
  anim.setAttribute("begin", "-0.5s");
  is(anim.getStartTime(), -0.5, "Unexpected start time with begin=-0.5s");

  // Once the animation has begun, the begin time is fixed so we need to end the
  // element (or advance the timeline) to override the previous start time
  anim.endElement();

  // However, now we have an end instance, and the SMIL model dictates that if
  // we have end instances and no end event conditions and all end instances are
  // before our next begin, there's no valid interval. To overcome this we add
  // an indefinite end.
  anim.setAttribute("end", "indefinite");

  // Now test over the lifetime of the animation when there are multiple
  // intervals
  anim.setAttribute("begin", "1s; 3s");
  is(anim.getStartTime(), 1, "Unexpected start time before first interval");
  
  svg.setCurrentTime(1);
  is(anim.getStartTime(), 1,
     "Unexpected start time at start of first interval");

  svg.setCurrentTime(1.5);
  is(anim.getStartTime(), 1, "Unexpected start time during first interval");

  svg.setCurrentTime(2);
  is(anim.getStartTime(), 3, "Unexpected start time after first interval");

  svg.setCurrentTime(3);
  is(anim.getStartTime(), 3, "Unexpected start time during second interval");

  svg.setCurrentTime(4);
  exceptionCaught = false;
  try {
    anim.getStartTime();
  } catch(e) {
    exceptionCaught = true;
    is(e.name, "InvalidStateError",
       "Unexpected exception from getStartTime.");
    is(e.code, DOMException.INVALID_STATE_ERR,
       "Unexpected exception code from getStartTime.");
  }
  ok(exceptionCaught, "No exception thrown for in postactive state.");

  SimpleTest.finish();
}

window.addEventListener("load", main);
]]>
</script>
</pre>
</body>
</html>

[ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge