<html xmlns="http://www.w3.org/1999/xhtml">  
  <body>
    This test is to ensure that we do not crash when loading a SVG image with an invalid font-face-uri
    <div id="log"><span style='color: red;'>FAIL:</span> Did not complete test</div>
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
      <g>
        <defs>
          <font-face>
            <font-face-src>
              <font-face-uri xlink:href="http://1234123!%#$!%#$%"/>
            </font-face-src>
          </font-face>
        </defs>
      </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 when rendering the SVG image."));
    </script>
  </body>
</html>
