| 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 <script src="resources/file-drag-common.js"></script> |
| 6 </head> | 6 </head> |
| 7 <body> | 7 <body> |
| 8 <input type="file" name="file1" id="file1"> | 8 <input type="file" name="file1" id="file1"> |
| 9 <input type="file" name="file2" id="file2"> | 9 <input type="file" name="file2" id="file2"> |
| 10 <script> | 10 <script> |
| 11 description("This tests the files attribute in file input forms"); | 11 description("This tests the files attribute in file input forms"); |
| 12 | 12 |
| 13 if (window.testRunner) { | 13 if (window.testRunner) { |
| 14 var file1 = document.getElementById("file1"); | 14 var file1 = document.getElementById("file1"); |
| 15 var file2 = document.getElementById("file2"); | 15 var file2 = document.getElementById("file2"); |
| 16 dragFilesOntoInput(file1, ["foo.txt"]); | 16 dragFilesOntoInput(file1, ["foo.txt"]); |
| 17 dragFilesOntoInput(file2, ["bar.txt"]); | 17 dragFilesOntoInput(file2, ["bar.txt"]); |
| 18 shouldBe("file1.files.length", "1"); |
| 18 | 19 |
| 19 file1.files = "foo"; | 20 shouldThrow("file1.files = 'foo'"); |
| 20 shouldBe("file1.files.length", "1"); | |
| 21 shouldBeEqualToString("file1.files.item(0).name", "foo.txt"); | |
| 22 | 21 |
| 23 file1.files = null; | 22 file1.files = null; |
| 24 shouldBe("file1.files.length", "1"); | 23 shouldBe("file1.files.length", "1"); |
| 25 shouldBeEqualToString("file1.files.item(0).name", "foo.txt"); | 24 shouldBeEqualToString("file1.files.item(0).name", "foo.txt"); |
| 26 | 25 |
| 27 // From current W3C spec, files attribute should be read only, | 26 // From current W3C spec, files attribute should be read only, |
| 28 // but WebKit implement it to be writable intentionally. | 27 // but WebKit implement it to be writable intentionally. |
| 29 // See: https://bugs.webkit.org/show_bug.cgi?id=87154#c15 | 28 // See: https://bugs.webkit.org/show_bug.cgi?id=87154#c15 |
| 30 file1.files = file2.files; | 29 file1.files = file2.files; |
| 31 shouldBe("file1.files.length", "1"); | 30 shouldBe("file1.files.length", "1"); |
| 32 shouldBeEqualToString("file1.files.item(0).name", "bar.txt"); | 31 shouldBeEqualToString("file1.files.item(0).name", "bar.txt"); |
| 33 } | 32 } |
| 34 </script> | 33 </script> |
| 35 </body> | 34 </body> |
| 36 </html> | 35 </html> |
| OLD | NEW |