Update WPT tests for embedded content
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / html / semantics / embedded-content / the-img-element / invalid-src.html
1 <!doctype html>
2 <meta charset="utf-8">
3 <title>Loading a non-parsing URL as an image should silently fail; triggering appropriate events</title>
4 <script src="/resources/testharness.js"></script>
5 <script src="/resources/testharnessreport.js"></script>
6 <img id=brokenurl />
7 <img id=emptysrc />
8 <script>
9 async_test(function(t) {
10     var img = document.getElementById("brokenurl");
11     img.src = "http://[";
12     var errorevent = false;
13
14     // The errors should be queued in the event loop, so they should only trigger
15     // after this block of code finishes, not during the img.src setter itself
16     img.addEventListener('error', t.step_func(function(){errorevent = true;}));
17     img.addEventListener('loadend', t.step_func_done(function() {
18         assert_true(errorevent, "error event fired");
19     }));
20 }, 'src="http://["');
21
22 async_test(function(t) {
23     var img = document.getElementById("emptysrc");
24     img.src = "";
25     var loadendevent = false;
26
27     // Setting src to empty string triggers only error event.
28     // The errors should be queued in the event loop, so they should only trigger
29     // after this block of code finishes, not during the img.src setter itself
30     img.addEventListener('error', t.step_func(function() {
31         // Queue this check in the event loop to check there is no loadend event
32         // fired.
33         t.step_timeout(t.step_func_done(function() {
34             assert_false(loadendevent, "loadend event should not fired");
35         }), 0)
36     }));
37     img.addEventListener('loadend', t.step_func(function() {
38         loadendevent = true;
39     }));
40 }, 'src=""');
41
42 </script>