<html>
  <iframe id="test"></iframe>
  <div id="result"></div>
  <script>
    if (window.layoutTestController)
    {
      layoutTestController.dumpAsText();
      layoutTestController.waitUntilDone();
    }

    function runTest()
    {
      document.getElementById("test").src = "resources/request-existent-eventsource-error.html";
    }

    function finish()
    {
      document.body.removeChild(document.getElementById("test"));
  
      document.getElementById("result").innerHTML = "PASS";
      if (window.layoutTestController)
        layoutTestController.notifyDone();
    }

    runTest();
  </script>
<html>
