Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html>
<!--
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 1250148 - FormData and HTML submission compatibility</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<form id="form" enctype="multipart/form-data"><input type="file" name="test" /></form>
<script type="application/javascript">
SimpleTest.waitForExplicitFinish();
var f = document.getElementById('form');
var fd = new FormData(f);
var get = fd.get("test");
ok(get instanceof File, "We want a File object.");
is(get.name, "", "We want a File with an empty name.");
is(
get.type,
"application/octet-stream",
"We want a File with type application/octet-stream."
);
is(get.size, 0, "We want a File with an empty body.");
var getAll = fd.getAll("test");
ok(Array.isArray(getAll), "We want an array with 1 empty File.");
is(getAll.length, 1, "We want an array with 1 empty File.");
is(
getAll[0],
get,
"We want the File returned from getAll to be that returned from get."
);
var xhr = new XMLHttpRequest();
xhr.open("POST", "file_bug1250148.sjs", true);
xhr.onload = function() {
var obj = JSON.parse(xhr.responseText);
ok(Array.isArray(obj), "XHR response is an array.");
is(obj.length, 1, "XHR response array contains 1 result.");
ok("headers" in obj[0], "XHR response has an header value");
ok("Content-Disposition" in obj[0].headers, "XHR response.headers array has a Content-Desposition value");
is(obj[0].headers["Content-Disposition"], "form-data; name=\"test\"; filename=\"\"", "Correct Content-Disposition");
ok("Content-Type" in obj[0].headers, "XHR response.headers array has a Content-Type value");
is(obj[0].headers["Content-Type"], "application/octet-stream", "Correct Content-Type");
ok("body" in obj[0], "XHR response has a body value");
is(obj[0].body, "", "Correct body value");
SimpleTest.finish();
}
xhr.send(fd);
</script>
</body>
</html>