diff options
Diffstat (limited to '')
-rw-r--r-- | dom/html/test/test_bug590353-2.html | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/dom/html/test/test_bug590353-2.html b/dom/html/test/test_bug590353-2.html new file mode 100644 index 0000000000..9ef6e40e23 --- /dev/null +++ b/dom/html/test/test_bug590353-2.html @@ -0,0 +1,79 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=590353 +--> +<head> + <title>Test for Bug 590353</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=590353">Mozilla Bug 590353</a> +<p id="display"></p> +<div id="content" style="display: none"> +</div> +<pre id="test"> +<script type="application/javascript"> + +/** Test for Bug 590353 **/ + +var testData = [ + [ "text", "foo", "" ], + [ "email", "foo@bar.com", "" ], + [ "url", "http:///foo.com", "" ], + [ "tel", "555 555 555 555", "" ], + [ "search", "foo", "" ], + [ "password", "secret", "" ], + [ "hidden", "foo", "foo" ], + [ "button", "foo", "foo" ], + [ "reset", "foo", "foo" ], + [ "submit", "foo", "foo" ], + [ "checkbox", true, false ], + [ "radio", true, false ], + [ "file", "590353_file", "" ], +]; + +function createFileWithData(fileName, fileData) { + return new File([new Blob([fileData], { type: "text/plain" })], fileName); +} + +var content = document.getElementById('content'); +var form = document.createElement('form'); +content.appendChild(form); + +for (var data of testData) { + var e = document.createElement('input'); + e.type = data[0]; + + if (data[0] == 'checkbox' || data[0] == 'radio') { + e.checked = data[1]; + } else if (data[0] == 'file') { + var file = createFileWithData(data[1], "file content"); + SpecialPowers.wrap(e).mozSetFileArray([file]); + } else { + e.value = data[1]; + } + + form.appendChild(e); +} + +form.reset(); + +var size = form.elements.length; +for (var i=0; i<size; ++i) { + var e = form.elements[i]; + + if (e.type == 'radio' || e.type == 'checkbox') { + is(e.checked, testData[i][2], + "the element checked value should be " + testData[i][2]); + } else { + is(e.value, testData[i][2], + "the element value should be " + testData[i][2]); + } +} + +</script> +</pre> +</body> +</html> |