| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../../../resources/js-test.js"></script> | 4 <script src="../../../resources/js-test.js"></script> |
| 5 <script src="resources/file-drag-common.js"></script> |
| 5 </head> | 6 </head> |
| 6 <body> | 7 <body> |
| 7 <input type="file" name="file1" id="file1"> | 8 <input type="file" name="file1" id="file1"> |
| 8 <input type="file" name="file2" id="file2"> | 9 <input type="file" name="file2" id="file2"> |
| 9 <script> | 10 <script> |
| 10 description("This tests the files attribute in file input forms"); | 11 description("This tests the files attribute in file input forms"); |
| 11 | 12 |
| 12 if (window.testRunner) { | 13 if (window.testRunner) { |
| 13 var file1 = document.getElementById("file1"); | 14 var file1 = document.getElementById("file1"); |
| 14 var file2 = document.getElementById("file2"); | 15 var file2 = document.getElementById("file2"); |
| 15 dragFilesOntoInput(file1, ["foo.txt"]); | 16 dragFilesOntoInput(file1, ["foo.txt"]); |
| 16 dragFilesOntoInput(file2, ["bar.txt"]); | 17 dragFilesOntoInput(file2, ["bar.txt"]); |
| 17 | 18 |
| 18 file1.files = "foo"; | 19 file1.files = "foo"; |
| 19 shouldBe("file1.files.length", "1"); | 20 shouldBe("file1.files.length", "1"); |
| 20 shouldBeEqualToString("file1.files.item(0).name", "foo.txt"); | 21 shouldBeEqualToString("file1.files.item(0).name", "foo.txt"); |
| 21 | 22 |
| 22 file1.files = null; | 23 file1.files = null; |
| 23 shouldBe("file1.files.length", "1"); | 24 shouldBe("file1.files.length", "1"); |
| 24 shouldBeEqualToString("file1.files.item(0).name", "foo.txt"); | 25 shouldBeEqualToString("file1.files.item(0).name", "foo.txt"); |
| 25 | 26 |
| 26 // From current W3C spec, files attribute should be read only, | 27 // From current W3C spec, files attribute should be read only, |
| 27 // but WebKit implement it to be writable intentionally. | 28 // but WebKit implement it to be writable intentionally. |
| 28 // See: https://bugs.webkit.org/show_bug.cgi?id=87154#c15 | 29 // See: https://bugs.webkit.org/show_bug.cgi?id=87154#c15 |
| 29 file1.files = file2.files; | 30 file1.files = file2.files; |
| 30 shouldBe("file1.files.length", "1"); | 31 shouldBe("file1.files.length", "1"); |
| 31 shouldBeEqualToString("file1.files.item(0).name", "bar.txt"); | 32 shouldBeEqualToString("file1.files.item(0).name", "bar.txt"); |
| 32 } | 33 } |
| 33 | |
| 34 function moveMouseToCenterOfElement(element) { | |
| 35 var centerX = element.offsetLeft + element.offsetWidth / 2; | |
| 36 var centerY = element.offsetTop + element.offsetHeight / 2; | |
| 37 eventSender.mouseMoveTo(centerX, centerY); | |
| 38 } | |
| 39 | |
| 40 function dragFilesOntoInput(input, files) { | |
| 41 eventSender.beginDragWithFiles(files); | |
| 42 moveMouseToCenterOfElement(input); | |
| 43 eventSender.mouseUp(); | |
| 44 } | |
| 45 </script> | 34 </script> |
| 46 </body> | 35 </body> |
| 47 </html> | 36 </html> |
| OLD | NEW |