Update WPT tests for embedded content
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / html / semantics / embedded-content / the-object-element / object-events.html
1 <!DOCTYPE html>
2 <meta charset="utf-8">
3 <title>HTML Test: object-events</title>
4 <link rel="author" title="Intel" href="http://www.intel.com">
5 <script src="/resources/testharness.js"></script>
6 <script src="/resources/testharnessreport.js"></script>
7 <div id="log"></div>
8 <script>
9
10 async_test(function(t) {
11   var obj = document.createElement("object");
12   obj.onerror = t.step_func_done(function(e){
13     assert_equals(Object.getPrototypeOf(e).constructor, Event, "The error event should use the Event interface.");
14     assert_true(e.isTrusted, "The error event should be a trusted event.");
15     assert_false(e.cancelable, "The error event should not be a cancelable event.");
16     assert_false(e.bubbles, "The error event should not be a bubble event.");
17     assert_equals(e.target, obj, "The error event target should be the corresponding object element.");
18   });
19
20   obj.onload = t.step_func_done(function(e){
21     assert_unreached("The load event should not be fired.");
22   });
23
24   obj.data = "file:\\http://nonexistent.html";
25   document.body.appendChild(obj);
26 }, "error event (using 'file:' protocol)");
27
28 async_test(function(t) {
29   var obj = document.createElement("object");
30   obj.onerror = t.step_func_done(function(e){
31     assert_equals(e.target, obj,
32                   "The error event should be fired on our element");
33   });
34   obj.onload = t.step_func_done(function(e){
35     assert_unreached("The load event should not be fired.");
36   });
37
38   obj.data = "http://test:test";
39   document.body.appendChild(obj);
40 }, "error event (using 'http:' protocol)");
41
42
43 async_test(function(t) {
44   var obj = document.createElement("object");
45   obj.onload = t.step_func_done(function(e){
46     assert_equals(Object.getPrototypeOf(e).constructor, Event, "The load event should use the Event interface.");
47     assert_true(e.isTrusted, "The load event should be a trusted event.");
48     assert_false(e.cancelable, "The load event should not be a cancelable event.");
49     assert_false(e.bubbles, "The load event should not be a bubble event.");
50     assert_equals(e.target, obj, "The load event target should be the corresponding object element.");
51   });
52
53   obj.onerror = t.step_func_done(function(e){
54     assert_unreached("The error event should not be fired.");
55   });
56
57   obj.data = "/images/blue.png";
58   document.body.appendChild(obj);
59 }, "load event");
60
61 async_test(function(t) {
62   var obj = document.createElement("object");
63   obj.onload = t.step_func_done(function(e){
64     assert_true(obj.contentWindow instanceof Window, "The object element should represent a nested browsing context.")
65     assert_equals(Object.getPrototypeOf(e).constructor, Event, "The load event should use the Event interface.");
66     assert_true(e.isTrusted, "The load event should be a trusted event.");
67     assert_false(e.cancelable, "The load event should not be a cancelable event.");
68     assert_false(e.bubbles, "The load event should not be a bubble event.");
69     assert_equals(e.target, obj, "The load event target should be the corresponding object element.");
70   });
71
72   obj.onerror = t.step_func_done(function(e){
73     assert_unreached("The error event should not be fired.");
74   });
75
76   obj.data = "about:blank";
77   document.body.appendChild(obj);
78 }, "load event of about:blank");
79
80 </script>