| Index: LayoutTests/imported/web-platform-tests/FileAPI/file/File-constructor.html
 | 
| diff --git a/LayoutTests/imported/web-platform-tests/FileAPI/file/File-constructor.html b/LayoutTests/imported/web-platform-tests/FileAPI/file/File-constructor.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..32e52fd16ea1f1f15cf173eadbe9d039067ebf47
 | 
| --- /dev/null
 | 
| +++ b/LayoutTests/imported/web-platform-tests/FileAPI/file/File-constructor.html
 | 
| @@ -0,0 +1,72 @@
 | 
| +<!DOCTYPE html>
 | 
| +<meta charset=utf-8>
 | 
| +<title>File constructor</title>
 | 
| +<link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#dfn-file">
 | 
| +<script src="../../../../resources/testharness.js"></script>
 | 
| +<script src="../../../../resources/testharnessreport.js"></script>
 | 
| +<div id="log"></div>
 | 
| +<script>
 | 
| +test(function() {
 | 
| +  assert_true("File" in window, "window should have a File property.");
 | 
| +}, "File interface object exists");
 | 
| +
 | 
| +function test_first_argument(arg1, expectedSize, testName) {
 | 
| +  test(function() {
 | 
| +    var file = new File(arg1, "dummy");
 | 
| +    assert_true(file instanceof File);
 | 
| +    assert_equals(file.name, "dummy");
 | 
| +    assert_equals(file.size, expectedSize);
 | 
| +    assert_equals(file.type, "");
 | 
| +    // assert_false(file.isClosed); XXX: File.isClosed doesn't seem to be implemented
 | 
| +    assert_not_equals(file.lastModified, "");
 | 
| +  }, testName);
 | 
| +}
 | 
| +
 | 
| +test_first_argument(["bits"], 4, "DOMString fileBits");
 | 
| +test_first_argument(["𝓽𝓮𝔁𝓽"], 16, "Unicode DOMString fileBits");
 | 
| +test_first_argument([new Blob()], 0, "Empty Blob fileBits");
 | 
| +test_first_argument([new Blob(["bits"])], 4, "Blob fileBits");
 | 
| +test_first_argument([new ArrayBuffer(8)], 8, "ArrayBuffer fileBits");
 | 
| +test_first_argument([new Uint8Array([0x50, 0x41, 0x53, 0x53])], 4, "Typed array fileBits");
 | 
| +test_first_argument(["bits", new Blob(["bits"]), new Blob(), new Uint8Array([0x50, 0x41]),
 | 
| +                     new Uint16Array([0x5353]), new Uint32Array([0x53534150])], 16, "Various fileBits");
 | 
| +
 | 
| +function test_second_argument(arg2, expectedFileName, testName) {
 | 
| +  test(function() {
 | 
| +    var file = new File(["bits"], arg2);
 | 
| +    assert_true(file instanceof File);
 | 
| +    assert_equals(file.name, expectedFileName);
 | 
| +  }, testName);
 | 
| +}
 | 
| +
 | 
| +test_second_argument("dummy", "dummy", "Using fileName");
 | 
| +test_second_argument("dummy/foo", "dummy:foo", "Using special character in fileName");
 | 
| +
 | 
| +// testing the third argument
 | 
| +test(function() {
 | 
| +  var file = new File(["bits"], "dummy", { type: "text/plain"});
 | 
| +  assert_true(file instanceof File);
 | 
| +  assert_equals(file.type, "text/plain");
 | 
| +}, "Using type on the File constructor");
 | 
| +test(function() {
 | 
| +  var file = new File(["bits"], "dummy", { type: "TEXT/PLAIN"});
 | 
| +  assert_true(file instanceof File);
 | 
| +  assert_equals(file.type, "text/plain");
 | 
| +}, "Using uppercase characters in type");
 | 
| +test(function() {
 | 
| +  var file = new File(["bits"], "dummy", { type: "𝓽𝓮𝔁𝓽/𝔭𝔩𝔞𝔦𝔫"});
 | 
| +  assert_true(file instanceof File);
 | 
| +  assert_equals(file.type, "");
 | 
| +}, "Using illegal character for type");
 | 
| +test(function() {
 | 
| +  var file = new File(["bits"], "dummy", { lastModified: 42 });
 | 
| +  assert_true(file instanceof File);
 | 
| +  assert_equals(file.lastModified, 42);
 | 
| +}, "Using lastModified");
 | 
| +test(function() {
 | 
| +  var file = new File(["bits"], "dummy", { name: "foo" });
 | 
| +  assert_true(file instanceof File);
 | 
| +  assert_equals(file.name, "dummy");
 | 
| +}, "Misusing name");
 | 
| +
 | 
| +</script>
 | 
| 
 |