| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <script src="../../resources/js-test-pre.js"></script> | |
| </head> | |
| <body> | |
| <script> | |
| description("This test makes sure that calling checkValidity() on a cloned node does not crash a Debug build. The test passes if there is no crash (and if you don't see any 'FAIL's)"); | |
| var element; | |
| var element2; | |
| function checkInputElement() { | |
| element = document.createElement("input"); | |
| element.required = true; | |
| element.value = "hi" | |
| shouldBeTrue("element.checkValidity()"); | |
| element2 = element.cloneNode(); | |
| shouldBeTrue("element2.checkValidity()"); | |
| } | |
| function checkDeepSelect() { | |
| element = document.createElement("select") | |
| element.innerHTML = "<option>Volvo</option><option>Saab</option><option>Opel</option>"; | |
| element.required=true; | |
| shouldBeTrue("element.checkValidity()"); | |
| element2 = element.cloneNode(true); | |
| shouldBeTrue("element2.checkValidity()"); | |
| } | |
| function checkShallowSelect() { | |
| element = document.createElement("select") | |
| element.innerHTML = "<option>Volvo</option><option>Saab</option><option>Opel</option>"; | |
| element.required = true; | |
| shouldBeTrue("element.checkValidity()"); | |
| element2 = element.cloneNode(); | |
| shouldBeFalse("element2.checkValidity()"); | |
| } | |
| function checkTextArea() { | |
| element = document.createElement("textarea") | |
| element.required = true; | |
| element.checkValidity(); | |
| element.value = "a"; | |
| shouldBeTrue("element.checkValidity()"); | |
| element2 = element.cloneNode(); | |
| shouldBeEqualToString("element2.value", "a"); | |
| shouldBeTrue("element2.checkValidity()"); | |
| element2.value = element.value; | |
| shouldBeTrue("element2.checkValidity()"); | |
| } | |
| checkInputElement(); | |
| checkDeepSelect(); | |
| checkShallowSelect(); | |
| checkTextArea(); | |
| </script> | |
| <script src="../../resources/js-test-post.js"></script> | |
| </body> | |
| </html> |