<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>

<table id="table" style="display:inline">
  <thead id="thead" style="display:inline-table">
    <tr id="tr1" style="display:inline-block">
      <td id="td1"></td>
    </tr>
    </thead>
  <tbody id="tbody" style="display:block">
    <tr id="tr2" style="display:table">
    <tr id="tr3" style="display: table-row-group">
    </tr>
  </tbody>
</table>
<script>
test(function() {
  assert_equals(getComputedStyle(table).display, "inline");
  assert_equals(getComputedStyle(thead).display, "inline-table");
  assert_equals(getComputedStyle(tr1).display, "inline-block");
  assert_equals(getComputedStyle(td1).display, "table-cell");
  assert_equals(getComputedStyle(tbody).display, "block");
  assert_equals(getComputedStyle(tr2).display, "table");
  assert_equals(getComputedStyle(tr3).display, "table-row-group");
}, "Test to make sure that in quirks mode table elements with display act as they do in standard mode and retain display value");
</script>
