| <!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> |