| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script> |
| description("This tests that option elements are accessible using namedItem from both HTMLSelectElement and HTMLOptionsCollection as well as using the getter from the HTMLOptionsCollection"); |
| |
| var select1 = document.createElement("select"); |
| document.body.appendChild(select1); |
| select1.innerHTML = '<option value="Value" name="test">'; |
| |
| var select2 = document.createElement("select"); |
| document.body.appendChild(select2); |
| select2.innerHTML = '<option value="Value1" name="test"><option value="Value2" name="test">'; |
| |
| debug("Confirm that the option named 'test' is accessible from the select element"); |
| shouldBeEqualToString("select1.namedItem('test').toString()", "[object HTMLOptionElement]"); |
| shouldBeEqualToString("select1.namedItem('test').value", "Value"); |
| |
| debug("Confirm that the option named 'test' is accessible from the options collection"); |
| shouldBeEqualToString("select1.options.namedItem('test').toString()", "[object HTMLOptionElement]"); |
| shouldBeEqualToString("select1.options.namedItem('test').value", "Value"); |
| |
| debug("Confirm that the options collection returns the first option when there are multiple options named 'test'"); |
| shouldBeEqualToString("select2.namedItem('test').toString()", "[object HTMLOptionElement]"); |
| shouldBeEqualToString("select2.namedItem('test').value", "Value1"); |
| |
| shouldBeEqualToString("select2.options.test.toString()", "[object HTMLOptionElement]"); |
| shouldBeEqualToString("select2.options.test.value", "Value1"); |
| |
| // Clean up after ourselves |
| document.body.removeChild(select1); |
| document.body.removeChild(select2); |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |