<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">

if (window.testRunner)
    testRunner.dumpAsText();

function boom()
{
  var tr = document.getElementById("tr1");
  var xxx = document.getElementById("tr1").firstChild;

  tr.insertBefore(document.createTextNode("0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99"), xxx);

  tr.insertBefore(document.createElementNS("http://www.w3.org/1999/xhtml", "tr"), xxx);
}



</script>
</head>

<body onload="boom()">

<div>This test checks whether a particular odd arrangement of DOM
nodes results in render tree consistency violations.</div>

<table border="1">
<tbody id="tr1"> xxx
 <tr>
  <td>Whee</td>
 </tr>
</tbody>
</table>

<form id="f1">QQQ</form>

</body>
</html>
