<!doctype html>
<meta charset="utf-8">
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<link rel='stylesheet' href='support/base.css' />
<link rel="author" title="Joy Yu" href="mailto:joysyu@mit.edu">
<link rel="help" href="https://drafts.csswg.org/css-tables-3/#computing-the-table-height">
<style>
    x-table {
      border: 5px solid black;
    }
    x-table span {
        display: inline-block;
        vertical-align: top;
        background: lime;
        margin: 3px;
        height: 100px;
        width: 100px;
    }
</style>
<main>
    <h1>Visibility collapse</h1>
    <a href="https://drafts.csswg.org/css-tables-3/#computing-the-table-height">Spec</a>
    <p>
    Setting row group to visibility:collapse changes table height but not width.
    </p>
    <x-table id="one">
      <x-tbody>
        <x-tr>
            <x-td>
                <span>row 1</span>
            </x-td>
            <x-td>
                <span></span>
            </x-td>
        </x-tr>
        <x-tr>
            <x-td>
                <span>row 2</span>
            </x-td>
            <x-td>
                <span></span>
            </x-td>
        </x-tr>
    </x-tbody>
        <x-tr>
            <x-td>
                <span>row 3</span>
            </x-td>
            <x-td>
                <span></span>
            </x-td>
        </x-tr>
    </x-table>
    Bottom table is identical to top except row group of first two rows has been collapsed.
    <x-table id="two">
      <x-tbody style="visibility:collapse;">
        <x-tr>
            <x-td>
                <span>row 1</span>
            </x-td>
            <x-td>
                <span></span>
            </x-td>
        </x-tr>
        <x-tr>
            <x-td>
                <span>row 2</span>
            </x-td>
            <x-td>
                <span></span>
            </x-td>
        </x-tr>
    </x-tbody>
        <x-tr>
            <x-td>
                <span>row 3</span>
            </x-td>
            <x-td>
                <span></span>
            </x-td>
        </x-tr>
    </x-table>
</main>

<script>
    tests = [
    [
        document.getElementById('two').offsetWidth,
        document.getElementById('one').offsetWidth,
        "row group visibility:collapse doesn't change table width"
    ],
    [
        document.getElementById('two').offsetHeight,
        116,
        "row group visibility:collapse changes table height"
    ]];

    for (i = 0; i< tests.length; i++) {
        test(function()
            {
                assert_equals.apply(this, tests[i]);
            },
            tests[i][2]);
    };
</script>
</html>
