<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 the list contains nested lists.</p>
        <ol id="list" start="10">
            <li>Ten</li>
            <li>Eleven</li>
            <li>Twelve</li>
            <li>Thirteen
                <ul>
                    <li>One</li>
                    <li>Two</li>
                </ul>
            </li>
            <li>Fourteen</li>
            <li>Fifteen</li>
            <ol>
                <li>One</li>
                <li>Two</li>
            </ol>
            <li>Sixteen</li>
            <li>Seventeen</li>
        </ol>

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