<svg xmlns="http://www.w3.org/2000/svg">
  <!-- Test for WK86100 - passes if there is no crash -->
  <animate id="animate" attributeName="x" dur="9s"/>
  <text id="log"/>
  <script>
  <![CDATA[
    if (window.testRunner) {
      testRunner.waitUntilDone();
      testRunner.dumpAsText();
    }

    window.setTimeout(function() {
      var elem = document.getElementById("animate");
      elem.setAttribute("attributeName", "transform");
    }, 10);

    window.setTimeout(function() {
      document.getElementById("log").appendChild(document.createTextNode("PASS"));
      if (window.testRunner)
        testRunner.notifyDone();
    }, 100);
  ]]>
  </script>
</svg>
