<html>
<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>
<style>
.table {
    display: table;
}

.tbody {
    display: table-row-group;
}

.tr {
    display: table-row;
}

.td {
    display: table-cell;
}

</style>
</head>

<body onload="boom()">

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

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

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

</body>
</html>
