<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-non-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>
