| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script src="../../../resources/js-test.js"></script> | 3 <script src="../../../resources/js-test.js"></script> |
| 4 <script> | 4 <script> |
| 5 var selectElement; | 5 var selectElement; |
| 6 function go() { | 6 function go() { |
| 7 // <select multiple="true"> should not have a selection by default. | 7 // <select multiple="true"> should not have a selection by default. |
| 8 selectElement = document.getElementsByTagName('select')[0]; | 8 selectElement = document.getElementsByTagName('select')[0]; |
| 9 shouldBe("selectElement.selectedIndex", "-1"); | 9 shouldBe("selectElement.selectedIndex", "-1"); |
| 10 | 10 |
| 11 // Preserve selection on conversion. | 11 // Do not preserve non-selected state on conversion to single. |
| 12 selectElement.multiple = false; | 12 selectElement.multiple = false; |
| 13 shouldBe("selectElement.selectedIndex", "-1"); | 13 shouldBe("selectElement.selectedIndex", "0"); |
| 14 | 14 |
| 15 // <select multiple="false"> should have a selection by default and that | 15 // <select multiple="false"> should have a selection by default and that |
| 16 // selection should be preserved. | 16 // selection should be preserved. |
| 17 selectElement = document.getElementsByTagName('select')[1]; | 17 selectElement = document.getElementsByTagName('select')[1]; |
| 18 selectElement.multiple = true; | 18 selectElement.multiple = true; |
| 19 shouldBe("selectElement.selectedIndex", "0"); | 19 shouldBe("selectElement.selectedIndex", "0"); |
| 20 | 20 |
| 21 // Test the same cases as above but with selects that start out with | 21 // Test the same cases as above but with selects that start out with |
| 22 // display: none. | 22 // display: none. |
| 23 selectElement = document.getElementsByTagName('select')[2]; | 23 selectElement = document.getElementsByTagName('select')[2]; |
| 24 selectElement.style.display = ''; | 24 selectElement.style.display = ''; |
| 25 shouldBe("selectElement.selectedIndex", "-1"); | 25 shouldBe("selectElement.selectedIndex", "-1"); |
| 26 selectElement.multiple = false; | 26 selectElement.multiple = false; |
| 27 shouldBe("selectElement.selectedIndex", "-1"); | 27 shouldBe("selectElement.selectedIndex", "0"); |
| 28 | 28 |
| 29 selectElement = document.getElementsByTagName('select')[3]; | 29 selectElement = document.getElementsByTagName('select')[3]; |
| 30 selectElement.style.display = ''; | 30 selectElement.style.display = ''; |
| 31 selectElement.multiple = true; | 31 selectElement.multiple = true; |
| 32 shouldBe("selectElement.selectedIndex", "0"); | 32 shouldBe("selectElement.selectedIndex", "0"); |
| 33 | 33 |
| 34 // Test resetting the multiple attribute. | 34 // Test resetting the multiple attribute. |
| 35 selectElement = document.getElementsByTagName('select')[4]; | 35 selectElement = document.getElementsByTagName('select')[4]; |
| 36 shouldBe("selectElement.options[0].selected", "true"); | 36 shouldBe("selectElement.options[0].selected", "true"); |
| 37 shouldBe("selectElement.options[1].selected", "true"); | 37 shouldBe("selectElement.options[1].selected", "true"); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 68 <option id="opt2" value="3">3</option> | 68 <option id="opt2" value="3">3</option> |
| 69 </select> | 69 </select> |
| 70 <select multiple="true"> | 70 <select multiple="true"> |
| 71 <option id="opt1" value="1" selected="selected">1</option> | 71 <option id="opt1" value="1" selected="selected">1</option> |
| 72 <option id="opt2" value="2" selected="selected">2</option> | 72 <option id="opt2" value="2" selected="selected">2</option> |
| 73 <option id="opt2" value="3">3</option> | 73 <option id="opt2" value="3">3</option> |
| 74 </select> | 74 </select> |
| 75 <div id="console"></div> | 75 <div id="console"></div> |
| 76 </body> | 76 </body> |
| 77 </html> | 77 </html> |
| OLD | NEW |