<html>
    <head>
        <script src="resources/dump-list.js"></script>
        <script>
            function test()
            {
                if (window.testRunner)
                    testRunner.dumpAsText();

                var list = document.getElementById("list");
                document.getElementById("console").innerHTML = dumpList(list);

                // Don't show the actual list as it is useless in the text-only mode.
                list.parentNode.removeChild(list);
            }
        </script>
    </head>
    <body onload="test()">
        <p>This tests that list items are properly marked when a reversed list contains nested lists.</p>
        <ol id="list" start="10" reversed>
            <li>Ten</li>
            <li>Nine</li>
            <li>Eight</li>
            <li>Seven
                <ul>
                    <li>One</li>
                    <li>Two</li>
                </ul>
            </li>
            <li>Six</li>
            <li>Five</li>
            <ol reversed>
                <li>Two</li>
                <li>One</li>
            </ol>
            <li>Four</li>
            <li>Three</li>
            <li>Two</li>
        </ol>

        <div id="console"></div>
    </body>
</html>
