61 lines
1.8 KiB
HTML
61 lines
1.8 KiB
HTML
<!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>
|