<!DOCTYPE html>
<html>
  <head>
    <title>XMLHttpRequest: getting response with funny characters</title>
    <script src="/js-test-resources/testharness.js"></script>
    <script src="/js-test-resources/testharnessreport.js"></script>
    <!-- test file originating from W3C web platform test suite --> 
  </head>
  <body>
    <div id="log"></div>
    <script>
      function run_test(name, setupFunction, assertFunction)
      {
          var test = async_test(name)
          test.isAsserted = false
          test.step(function() {
            var client = new XMLHttpRequest()
            client.onreadystatechange = function() {
              test.step(function() {
                if(client.readyState == 4) {
                  test.isAsserted = true
                  assertFunction(client)
                }
              })
            }
            client.onloadend = function() {
              assert_true(test.isAsserted)
              test.done()
            }
            setupFunction(client)
            client.send(null)
          })
      }

      run_test("non ascii response header value",
        function(client){
            client.open("GET", "resources/headers.py")
        },function(client){
            assert_equals(client.getResponseHeader("x-custom-header-bytes"), "\xE2\x80\xA6")
        }
      )

      run_test("non ascii statusText",
        function(client){
            client.open("GET", "resources/not-ascii-status.py")
        },function(client){
            assert_equals(client.statusText, "OK\xE2\x80\xA6")
        }
      )
  </script>
 </body>
</html>
