<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: send() - data argument</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/li[4]" />  
    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-XMLHttpRequest-send-a-string" data-tested-assertations="/following::dd" />  
  </head>
  <body>
    <div id="log"></div>
    <script>
      function request(input, output) {
        test(function() {
          var client = new XMLHttpRequest()
          client.open("POST", "resources/content.py", false)
          client.send(input)
          assert_equals(client.responseText, output)
        }, document.title + " (" + output + ")")
      }
      request(1, "1")
      request(10000000, "10000000")
      request([2,2], "2,2")
      request(false, "false")
      request("A\0A", "A\0A")
    </script>
  </body>
</html>
