<html>
  <head>
    <style type="text/css">
        table
        {
            table-layout: fixed;
            width: 1px;
        }
    </style>
    <script>
        if (window.layoutTestController) {
            layoutTestController.dumpAsText();
            layoutTestController.waitUntilDone();
        }
    </script>
  </head>
  <body onload="finish()">
    This test is to ensure that we do not crash while rendering a fixed table layout.
    <div id="result"><span style='color: red;'>FAIL:</span> Did not complete test</div>
    <table>
      <td width="1"></td>
      <td colspan="65536"></td>
    </table>
    <script>
        function finish()
        {
            if (window.layoutTestController)
                layoutTestController.notifyDone();
            document.getElementById("result").innerHTML = "<span style='color: green;'>PASS:</span> Did not crash.";
        }
    </script>
  </body>
</html>

