<!DOCTYPE HTML>
<html>
<!--
    Test for WK89943: pausing and unpausing an animation before it starts should have no effect.
-->
<body>
    <svg id="svg" width="400" height="400">
        <rect x="0" y="0" width="100" height="100" fill="red"/>
        <rect id="rect" x="100" y="0" width="100" height="100" fill="green">
            <set attributeName="x" to="0" begin="0.01s" fill="freeze"/>
        </rect>
    </svg>
    <script>
        if (window.testRunner) {
            testRunner.waitUntilDone();
            testRunner.dumpAsText();
        }

        var svg = document.getElementById("svg");
        var rect = document.getElementById("rect");

        svg.pauseAnimations();
        svg.unpauseAnimations();

        setTimeout(function() {
            if (rect.x.animVal.value == 0)
                document.body.innerHTML = "PASS";
            else
                document.body.innerHTML = "FAIL : rect.x.animVal.value was " + rect.x.animVal.value + " but we expected 0.";

            if (window.testRunner)
                testRunner.notifyDone();
        }, 50);
    </script>
</body>
</html>
