<!DOCTYPE HTML>
<html>
<!-- Test for WK93063: This test passes if no assert is hit and PASS is printed. -->
<svg id="root" xmlns="http://www.w3.org/2000/svg">
    <rect id="rect">
        <animateTransform attributeName="transform" dur="2s"/>
    </rect>
<script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    var rect = document.getElementById('rect');
    setTimeout("changeTransform()", 1);

    function changeTransform() {
        rect.setAttribute("transform", "scale(1)");
        document.getElementById("root").setCurrentTime(1);
        document.write("This test passes if no assert is hit and PASS is printed: PASS.");
        if (window.testRunner)
            testRunner.notifyDone();
    }
</script>
</svg>
</html>
