<html xmlns="http://www.w3.org/1999/xhtml">
  <body>
    This test is to ensure that we do not crash when clearing floats during SVG load.
    <div id="log"><span style='color: red;'>FAIL:</span> Did not complete test</div>
    <svg xmlns="http://www.w3.org/2000/svg">
      <g>
        <text style="float:right"></text>
        <text></text>
      </g>
    </svg>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();
        var log = document.getElementById("log");
        while (log.childNodes.length)
            log.removeChild(log.firstChild);
        var msg = document.createElementNS("http://www.w3.org/1999/xhtml", "span");
        msg.style.color = "green";
        msg.appendChild(document.createTextNode("PASS:"));
        log.appendChild(msg);
        log.appendChild(document.createTextNode(" Did not crash while rendering the SVG."));
    </script>
  </body>
</html>

