<html>
    <head>
        <script>
            function log(msg)
            {
                document.getElementById('console').appendChild(document.createTextNode(msg + '\n'));
            }
            
            function test()
            {
                if (window.testRunner)
                    testRunner.dumpAsText();
                
                var sl = document.getElementById("sl");
                sl.options.length="5";
                if (sl.options.length == 5)
                    log("Test Passed");
                else
                    log("Test Failed");
            }
        </script>
    </head>
    <body onload="test()">
        This tests that setting the options collection length to a string representation of a number works.<br>
        <select id="sl"><option>This option should be visible</select>
        <pre id="console"></pre>
    </body>
</html>
