blob: 8190be87a4b7caf69ba07d07d239ff8143be3b05 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head></head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/preload/resources/preload_helper.js"></script>
<script>
var t = async_test('Makes sure that preloaded resources trigger the onerror event');
var scriptFailed = false;
var styleFailed = false;
var imageFailed = false;
var fontFailed = false;
var videoFailed = false;
var audioFailed = false;
var trackFailed = false;
var gibberishFailed = false;
var fetchFailed = false;
var emptyFailed = false;
</script>
<link rel=preload href="non-existent/dummy.js" as=script onerror="scriptFailed = true;">
<link rel=preload href="non-existent/dummy.css" as=style onerror="styleFailed = true;">
<link rel=preload href="non-existent/square.png" as=image onerror="imageFailed = true;">
<link rel=preload href="non-existent/Ahem.ttf" as=font crossorigin onerror="fontFailed = true;">
<link rel=preload href="non-existent/test.mp4" as=video onerror="videoFailed = true;">
<link rel=preload href="non-existent/test.oga" as=audio onerror="audioFailed = true;">
<link rel=preload href="non-existent/security/captions.vtt" as=track onerror="trackFailed = true;">
<link rel=preload href="non-existent/dummy.xml?foo" as=foobarxmlthing onerror="gibberishFailed = true;">
<link rel=preload href="non-existent/dummy.xml?fetch" as=fetch onerror="fetchFailed = true;">
<link rel=preload href="non-existent/dummy.xml?empty" onerror="emptyFailed = true;">
<script>
window.onload = t.step_func(function() {
t.step_timeout(function() {
verifyPreloadAndRTSupport();
assert_true(styleFailed, "style triggered error event");
assert_true(scriptFailed, "script triggered error event");
assert_true(imageFailed, "image triggered error event");
assert_true(fontFailed, "font triggered error event");
assert_true(videoFailed, "video triggered error event");
assert_true(audioFailed, "audio triggered error event");
assert_true(trackFailed, "track triggered error event");
assert_false(gibberishFailed, "gibberish as value did not trigger error event");
assert_true(fetchFailed, "fetch as triggered error event");
assert_false(emptyFailed, "empty as triggered error event");
t.done();
}, 5000);
});
</script>
</body>
</html>