|  | <!doctype html> | 
|  | <html> | 
|  | <head> | 
|  | <title>XMLHttpRequest: send() - non-empty data argument and GET/HEAD - async, no upload events should fire</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] following::OL[1]/LI[8]" /> | 
|  |  | 
|  | </head> | 
|  | <body> | 
|  | <div id="log"></div> | 
|  | <script> | 
|  | function request(method) { | 
|  | var test = async_test( document.title + " (" + method + ")") | 
|  | var events=[] | 
|  | var logEvt = function (e) { | 
|  | events.push(e.type) | 
|  | } | 
|  | var client = new XMLHttpRequest() | 
|  | client.open(method, "resources/content.py") | 
|  | client.upload.addEventListener('progress', logEvt) | 
|  | client.upload.addEventListener('loadend', logEvt) | 
|  | client.upload.addEventListener('loadstart', logEvt) | 
|  | client.addEventListener('loadend', function(){ | 
|  | test.step(function(){ | 
|  | 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, []) | 
|  | test.done() | 
|  | }) | 
|  | }) | 
|  | client.send("TEST") | 
|  | } | 
|  | request("GET") | 
|  | request("HEAD") | 
|  | </script> | 
|  | </body> | 
|  | </html> |