Revision 9e22798642f4ea03f1872ab1c85c0179b72c5c95 authored by Robert Ma on 21 March 2018, 17:35:46 UTC, committed by Robert Ma on 22 March 2018, 19:02:24 UTC
1. Check the HTTP port of wptserve instead of HTTPS to avoid the
   unnecessary complexities of setting up SSL context (which may fail in
   some environments).
2. Use exponential backoff when waiting for wptserve and specify a
   maximum retry to avoid indefinite hang.
3. Use `terminate` instead of `kill` to give wptserve a chance to clean
   up, which is especially useful when running locally.

WPTServe.url still returns a HTTPS URL to make sure tests that require
secure context (e.g. service workers) still work.
1 parent dbb38a6
Raw File
responseurl.html
<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: responseURL test</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-responseurl-attribute"/>
  </head>
  <body>
    <div id="log"></div>
    <script>
      test(function() {
        var client = new XMLHttpRequest()
        assert_equals(client.responseURL, "")

        client.open("GET", "foo.html", false)
        client.send()

        expected = location.href.replace(/[^/]*$/, 'foo.html')
        assert_equals(client.status, 404)
        assert_equals(client.responseURL, expected)
      }, "404 response has proper responseURL")
      test(function() {
        var client = new XMLHttpRequest()
        assert_equals(client.responseURL, "")

        target = "image.gif"
        client.open("GET", "resources/redirect.py?location=" + target, false)
        client.send()

        expected = location.href.replace(/[^/]*$/, "resources/" + target)
        assert_equals(client.status, 200)
        assert_equals(client.responseURL, expected)
      }, "Redirected response has proper responseURL")
    </script>
  </body>
</html>
back to top