diff options
Diffstat (limited to 'dom/html/test/test_set_input_files.html')
-rw-r--r-- | dom/html/test/test_set_input_files.html | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/dom/html/test/test_set_input_files.html b/dom/html/test/test_set_input_files.html new file mode 100644 index 0000000000..3b7bf20909 --- /dev/null +++ b/dom/html/test/test_set_input_files.html @@ -0,0 +1,55 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=1384030 +--> +<head> + <title>Test for Setting <input type=file>.files </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=1384030">Mozilla Bug 1384030</a> +<pre id="test"> +<script type="application/javascript"> + +/** Test for Setting <input type=file>.files **/ + +function runTest() +{ + const form = document.createElement("form"); + const formInput = document.createElement("input"); + formInput.type = "file"; + formInput.name = "inputFile"; + form.appendChild(formInput); + + const input = document.createElement("input"); + input.type = "file"; + SpecialPowers.wrap(input).mozSetFileArray([ + new File(["foo"], "foo"), + new File(["bar"], "bar") + ]); + + formInput.files = input.files; + + const inputFiles = (new FormData(form)).getAll("inputFile"); + is(inputFiles.length, 2, "FormData should contain two input files"); + + is(inputFiles[0].name, "foo", "Input file name should be 'foo'"); + is(inputFiles[1].name, "bar", "Input file name should be 'bar'"); + + is(inputFiles[0], input.files[0], + "Expect the same File object as input file 'foo'"); + is(inputFiles[1], input.files[1], + "Expect the same File object as input file 'bar'"); + + SimpleTest.finish(); +} + +SimpleTest.waitForExplicitFinish(); +window.addEventListener('load', runTest); + +</script> +</pre> +</body> +</html> |