<!DOCTYPE html>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();
</script>
<p>With a multicol container that has a block and with a spanner inside, do the following:</p>
<ol>
    <li>Insert an inline right before the spanner</li>
    <li>Turn the spanner into a table-column</li>
    <li>Insert an inline child into the previously inserted inline</li>
    <li>Set column-span:none on the ex-spanner (now table-column)</li>
    <li>Insert a block into the previously inserted inline child</li>
</ol>
<p>The word 'PASS' should be seen below.</p>
<div style="-webkit-column-count:2;">
    <div>
        <span id="inline" style="display:none;">
            <emph id="tCF74" style="display:none;">
                <footer id="tCF33" style="display:none;">PASS</footer>
            </emph>
        </span>
        <div id="spanner" style="-webkit-column-span:all;"></div>
    </div>
</div>

<script>
    document.body.offsetTop;
    document.getElementById("inline").style.display = "inline";

    // Note that a table-column isn't allowed to become a spanner.
    document.getElementById("spanner").style.display = "table-column";

    document.body.offsetTop;
    tCF74.style.display = '';
    document.getElementById("spanner").style.webkitColumnSpan = "none";
    tCF33.style.display = '';
</script>
