<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", "td"), 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">
 <tr id="tr1"> xxx
  <td>Whee</td>
 </tr>
</table>

</body>
</html>
