<!DOCTYPE html>
<title>link: error events</title>
<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-link-element">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<div id="test">
<script>
//var t404 = async_test("Should get an error event for a 404 error.")
//t404.step(function() {
//  var elt = document.createElement("link");
//  elt.onerror = t404.step_func(function() {
//    assert_true(true, "Got error event for 404 error.")
//    t404.done()
//  })
//  elt.rel = "stylesheet";
//  elt.href = 404 error;
//  document.getElementsByTagName("head")[0].appendChild(elt);
//})
var tText = async_test("Should get an error event for a text/plain response.")
tText.step(function() {
  var elt = document.createElement("link");
  elt.onerror = tText.step_func(function() {
    assert_true(true, "Got error event for 404 error.")
    tText.done()
  })
  elt.rel = "stylesheet";
  elt.href = "../../../../../common/css-red.txt";
  document.getElementsByTagName("head")[0].appendChild(elt);
})
</script>
