<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
<svg onload="loaded()" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <rect x="0" y="0" width="0" height="0" fill="green">
    <animate id="anim" attributeName="width" from="0" to="100" begin="0s" dur="1s" repeatCount="2" fill="freeze"/>
    <set attributeName="height" to="100" begin="anim.repeatEvent"/>
  </rect>
  <script>
    if (window.testRunner)
        testRunner.waitUntilDone();

    function loaded() {
        document.documentElement.setCurrentTime(2);

        if (window.testRunner)
            setTimeout(function(){testRunner.notifyDone();}, 100);
    }
  </script>
</svg>
