| <!doctype html> |
| <html> |
| <head> |
| <title>XMLHttpRequest: send() - non-empty data argument and GET/HEAD</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::OL[1]/LI[3] following::OL[1]/LI[7]" /> |
| |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| function request(method) { |
| test(function() { |
| var events=[] |
| var logEvt = function (e) { |
| events.push(e.type) |
| } |
| var client = new XMLHttpRequest() |
| client.open(method, "resources/content.py", false) |
| client.send("TEST") |
| client.upload.addEventListener('progress', logEvt) |
| client.upload.addEventListener('loadend', logEvt) |
| client.upload.addEventListener('loadstart', logEvt) |
| |
| if (method === "HEAD") { |
| // Fetch 4.4.3 --- Set Content-Length to 0 if method is HEAD and |
| // request's body is null. |
| assert_equals(client.getResponseHeader("x-request-content-length"), "0") |
| } else { |
| assert_equals(client.getResponseHeader("x-request-content-length"), "NO") |
| } |
| assert_equals(client.getResponseHeader("x-request-method"), method) |
| assert_equals(client.responseText, "") |
| assert_array_equals(events, []) |
| }, document.title + " (" + method + ")") |
| } |
| request("GET") |
| request("HEAD") |
| </script> |
| </body> |
| </html> |