| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <form method="get" id="happy_form"> |
| <fieldset name="victim"></fieldset> |
| <input name="victim" type="text" value="lorem ipsum"/> |
| <button name="victim">lorem ipsum</button> |
| <select name="victim"></select> |
| <textarea name="victim"></textarea> |
| <output name="victim"></output> |
| <object name="victim"></object> |
| <keygen name="victim"></keygen> |
| </form> |
| <form action="" id="soon_to_be_happy_form"> |
| <select required="" id="soon_to_be_happy_select"> |
| <option>abc</option> |
| </select> |
| </form> |
| <div id="console"></div> |
| <script> |
| description("This test checks if reportValidity() returns correctly a true (meaning no error) result."); |
| |
| debug('Elements valid from the begining'); |
| shouldBe('document.getElementsByTagName("fieldset")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementsByTagName("input")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementsByTagName("button")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementsByTagName("select")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementsByTagName("textarea")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementsByTagName("output")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementsByTagName("object")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementsByTagName("keygen")[0].reportValidity()', 'true'); |
| shouldBe('document.getElementById("happy_form")[0].reportValidity()', 'true'); |
| debug(''); |
| |
| debug('Element valid when changed'); |
| jsTestIsAsync = true; |
| var form = document.getElementById('soon_to_be_happy_form'); |
| var select = document.getElementById('soon_to_be_happy_select'); |
| form.onchange = function() { |
| shouldBeTrue('form.reportValidity()'); |
| debug(''); |
| finishJSTest(); |
| }; |
| window.onload = function() { |
| select.value = null; |
| select.focus(); |
| if (window.eventSender) |
| eventSender.keyDown('a'); |
| }; |
| |
| </script> |
| </body> |
| </html> |