| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | |
| <html> | |
| <head> | |
| <script src="../../resources/js-test-pre.js"></script> | |
| </head> | |
| <body> | |
| <p id="description"></p> | |
| <div id="console"></div> | |
| <script> | |
| description('Various tests for .willValidate property'); | |
| var parent = document.createElement('div'); | |
| document.body.appendChild(parent); | |
| debug('Existence of .willValidate'); | |
| parent.innerHTML = '<form>' | |
| + '<input name="victim"/>' | |
| + '<textarea name="victim"></textarea>' | |
| + '<fieldset name="victim">Test</fieldset>' | |
| + '<button name="victim">' | |
| + '<select name="victim"></select>' | |
| + '<output name="victim"></output>' | |
| + '<object name="victim"></object>' | |
| + '<keygen name="victim">' | |
| + '</form>'; | |
| var controls = document.getElementsByName('victim'); | |
| for (var i = 0; i < controls.length; i++) { | |
| if (controls[i].localName != 'keygen') | |
| shouldBe('typeof controls[i].willValidate', '"boolean"'); | |
| } | |
| debug(''); | |
| debug('Form association'); | |
| parent.innerHTML = '<input name="test">'; | |
| var input = document.getElementsByTagName("input")[0]; | |
| shouldBeTrue('input.willValidate'); | |
| parent.innerHTML = '<form><input name="test"></form>'; | |
| input = document.getElementsByTagName("input")[0]; | |
| shouldBeTrue('input.willValidate'); | |
| debug(''); | |
| debug('Control name'); | |
| parent.innerHTML = '<form><input></form>'; | |
| input = document.getElementsByTagName("input")[0]; | |
| shouldBeTrue('input.willValidate'); | |
| parent.innerHTML = '<form><input name="test"></form>'; | |
| input = document.getElementsByTagName("input")[0]; | |
| shouldBeTrue('input.willValidate'); | |
| debug(''); | |
| debug('Disabled control'); | |
| parent.innerHTML = '<form><input name="test" disabled></form>'; | |
| input = document.getElementsByTagName("input")[0]; | |
| shouldBeFalse('input.willValidate'); | |
| debug(''); | |
| debug('Read-only control'); | |
| parent.innerHTML = '<form><input name="test" readonly></form>'; | |
| input = document.getElementsByTagName("input")[0]; | |
| shouldBeFalse('input.willValidate'); | |
| debug(''); | |
| debug('Input types'); | |
| parent.innerHTML = '<form><input name="test"></form>'; | |
| input = document.getElementsByTagName("input")[0]; | |
| shouldBeTrue('input.willValidate'); | |
| shouldBeFalse('input.type = "button"; input.willValidate'); | |
| shouldBeTrue('input.type = "submit"; input.willValidate'); | |
| shouldBeFalse('input.type = "hidden"; input.willValidate'); | |
| shouldBeFalse('input.type = "reset"; input.willValidate'); | |
| debug(''); | |
| debug('Fieldset element'); | |
| parent.innerHTML = '<form><fieldset><p>Fieldset test</p></fieldtset></form>'; | |
| shouldBeFalse('document.getElementsByTagName("fieldset")[0].willValidate'); | |
| debug(''); | |
| debug('Textarea element'); | |
| parent.innerHTML = '<form><textarea name="text"></textarea></form>'; | |
| shouldBeTrue('document.getElementsByTagName("textarea")[0].willValidate'); | |
| debug(''); | |
| debug('Output element'); | |
| parent.innerHTML = '<form><output></output></form>'; | |
| shouldBeFalse('document.getElementsByTagName("output")[0].willValidate'); | |
| debug(''); | |
| debug('Object element'); | |
| parent.innerHTML = '<form><object></object></form>'; | |
| shouldBeFalse('document.getElementsByTagName("object")[0].willValidate'); | |
| debug(''); | |
| debug('Keygen element'); | |
| parent.innerHTML = '<form><keygen></form>'; | |
| shouldBeUndefined('document.getElementsByTagName("keygen")[0].willValidate'); | |
| </script> | |
| <script src="../../resources/js-test-post.js"></script> | |
| </body> | |
| </html> |