blob: 1280ff2a7ce0bbaa636bc7054a6ab8eb9fadd98f [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<title>formData.set(blob) and formData.set(file)</title>
<link rel="author" title="Timothy Gu" href="mailto:timothygu99@gmail.com">
<link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#constructing-form-data-set">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
"use strict";
const formData = new FormData();
test(() => {
formData.set("blob-1", new Blob());
const blob1 = formData.get("blob-1");
assert_equals(blob1.constructor.name, "File");
assert_equals(blob1.name, "blob");
assert_equals(blob1.type, "");
assert_less_than(Math.abs(blob1.lastModified - Date.now()), 200, "lastModified should be now");
}, "blob without type");
test(() => {
formData.set("blob-2", new Blob([], { type: "text/plain" }));
const blob2 = formData.get("blob-2");
assert_equals(blob2.constructor.name, "File");
assert_equals(blob2.name, "blob");
assert_equals(blob2.type, "text/plain");
assert_less_than(Math.abs(blob2.lastModified - Date.now()), 200, "lastModified should be now");
}, "blob with type");
test(() => {
formData.set("blob-3", new Blob(), "custom name");
const blob3 = formData.get("blob-3");
assert_equals(blob3.constructor.name, "File");
assert_equals(blob3.name, "custom name");
assert_equals(blob3.type, "");
assert_less_than(Math.abs(blob3.lastModified - Date.now()), 200, "lastModified should be now");
}, "blob with custom name");
test(() => {
formData.set("file-1", new File([], "name"));
const file1 = formData.get("file-1");
assert_equals(file1.constructor.name, "File");
assert_equals(file1.name, "name");
assert_equals(file1.type, "");
assert_less_than(Math.abs(file1.lastModified - Date.now()), 200, "lastModified should be now");
}, "file without lastModified or custom name");
test(() => {
formData.set("file-2", new File([], "name", { lastModified: 123 }), "custom name");
const file2 = formData.get("file-2");
assert_equals(file2.constructor.name, "File");
assert_equals(file2.name, "custom name");
assert_equals(file2.type, "");
assert_equals(file2.lastModified, 123, "lastModified should be 123");
}, "file with lastModified and custom name");
</script>