<html>
    <head>
        <style type='text/css'>
            #theSelect { display: none; }
        </style>
        <script type="text/javascript">
        function runTest() {
            if (window.testRunner)
                testRunner.dumpAsText();
            var console = document.getElementById('console');
            var theOption = document.getElementById('theOption');
            console.innerHTML += theOption.selected + "<br>";
            console.innerHTML += theOption.parentNode.selectedIndex + "<br>";
            console.innerHTML += theOption.selected + "<br>";
        }
        </script>
    </head>
    <body onload="runTest()">
        <p>The test below queries the selected property of the option. In both cases it should be selected, just as the result is when the select is visible. Bug 15088</p>
        <pre id='console'></pre>

        <select id='theSelect'>
            <option id='theOption'>The Option</option>
        </select>
    </body>
</html>
