<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: timeout not allowed for sync requests</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-timeout-attribute" data-tested-assertations="following::ol/li[1]" />
    <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::ol/li[10]" />
  </head>
  <body>
    <div id="log"></div>
    <script>
      test(function() {
        var client = new XMLHttpRequest()
        client.open('GET', 'folder.txt', false)
        assert_throws_dom("InvalidAccessError", function() { client.timeout = 1000 })
        }, 'setting timeout attribute on sync request')
      test(function() {
        var client = new XMLHttpRequest()
        client.timeout = 1000
        assert_throws_dom("InvalidAccessError", function() { client.open('GET', 'folder.txt', false) })
        }, 'open() with async false when timeout is set')
    </script>
  </body>
</html>
