<html>
<head>
    <title>Test for Bug 12942</title>
    <script type="text/javascript">
        if (window.testRunner)
            testRunner.dumpAsText();

        window.onload = function() {
            var select = document.getElementsByTagName('select')[0];
            select.options[1].selected = true;
            select.options.length = 1;
            select.selectedIndex = 0;
        }
    </script>
</head>
<body>
    <h2>Test for <a href='http://bugs.webkit.org/show_bug.cgi?id=12942'>bug 12942</a></h2>

    <p>This test has succeeded if it does not hit an assertion failure.</p>

    <select>
        <option>A</option>
        <option>B</option>
    </select>
</body>
</html>
