<!DOCTYPE html>
<html>
  <head>
    <title>EventSource: constructor (act as if there is a network error)</title>
    <meta name=timeout content=long>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>
    <script>
      function fetchFail(url) {
        var test = async_test(document.title + " (" + url + ")", { timeout: 20000 })
        test.step(function() {
          var source = new EventSource(url)
          source.onerror = function(e) {
            test.step(function() {
              assert_equals(source.readyState, source.CLOSED)
              assert_false(e.hasOwnProperty('data'))
            })
            test.done()
          }
        })
      }
      fetchFail("http://example.not/")
      fetchFail("https://example.not/test")
      fetchFail("ftp://example.not/")
      fetchFail("about:blank")
      fetchFail("mailto:whatwg@awesome.example")
      fetchFail("javascript:alert('FAIL')")
    </script>
    <!-- This tests "fails the connection" as well as making sure a simple
         event is dispatched and not a MessageEvent -->
  </body>
</html>
