blob: a352dd8345c7657d95c986bdc5ade2b181124d5f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<!--
Tests various aspects of initial pause behaviour including getCurrentTime and
setCurrentTime. In particular, we test the behaviour described in
http://www.w3.org/2003/01/REC-SVG11-20030114-errata#getCurrentTime_setCurrentTime_undefined_before_document_timeline_begin
-->
<svg xmlns="http://www.w3.org/2000/svg"
class="reftest-wait"
onload="unpause()">
<script type="text/ecmascript"><![CDATA[
// If we try to update the DOM as we go we very occasionally run into timing
// issues that produce false positives for this test. So instead we just set
// this flag and update the DOM at the end of the test.
var ok = true;
function assert(condition) {
ok = ok & condition;
}
// === Test the state before the document starts ===
document.documentElement.setCurrentTime(2);
assert(document.documentElement.getCurrentTime() == 0);
assert(!document.documentElement.animationsPaused());
document.documentElement.pauseAnimations();
function unpause() {
// === Test the state after that the document has started ===
assert(document.documentElement.getCurrentTime() == 2);
assert(document.documentElement.animationsPaused());
if (!ok) {
document.getElementById('wrong').style.visibility = 'visible';
}
document.documentElement.removeAttribute("class");
}
]]></script>
<circle cx="50" cy="50" r="30" fill="blue">
<animate attributeName="cx" attributeType="XML"
to="250" begin="1s" dur="2s" fill="freeze"/>
</circle>
<!-- Tick mark to show where the circle should be -->
<path d="M150 40v20" stroke="green"/>
<!-- Marker to show if something is wrong in the DOM -->
<text fill="red" stroke="none" font-size="60" x="125" y="70"
font-family="sans-serif" id="wrong" visibility="hidden">X</text>
</svg>
|