Video is not started even if play button has been pressed.
[framework/web/webkit-efl.git] / LayoutTests / fast / events / event-fire-order.html
1 <p>This page tests event listener fire order for a few objects that had it wrong in the past.</p>
2 <p>If the test passes, you'll see a series of PASS messages below.</p>
3
4 <pre id="console"></pre>
5
6 <div id="div"></div>
7
8 <script>
9 if (window.testRunner)
10     testRunner.dumpAsText();
11
12 function log(s)
13 {
14     document.getElementById("console").appendChild(document.createTextNode(s + "\n"));
15 }
16
17 var result;
18
19 function reset()
20 {
21     result = [ ];
22 }
23
24 function f1()
25 {
26     result.push("f1");
27 }
28
29 function f2(event)
30 {
31     result.push("f2");
32     event.target.removeEventListener(event.type, f3, false); // Removed: should not fire.
33     event.target.addEventListener(event.type, f4, false); // Added after dispatch began: should not fire.
34 }
35
36 function f3()
37 {
38     result.push("f3");
39 }
40
41 function f4()
42 {
43     result.push("f4");
44 }
45
46 function reportResult(name, expected)
47 {
48     var passed = true;
49     var end = result.length > expected.length ? result.length : expected.length;
50     for (var i = 0; i < end; ++i) {
51         if (result[i] != expected[i]) {
52             log("FAIL: " + name + " result[" + i + "] should be " + expected[i] + " but instead is " + result[i] + ".");
53             passed = false;
54         }
55     }
56     if (passed)
57         log("PASS: result should be " + expected + " and is.");
58 }
59
60 var tests = [
61     function testDiv()
62     {
63         reset();
64         var x = document.getElementById("div");
65         x.addEventListener("click", f1, false);
66         x.onclick = f2;
67         x.addEventListener("click", f3, false);
68
69         var event = document.createEvent("MouseEvent");
70         event.initMouseEvent("click", true, true, document.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, document);
71         x.dispatchEvent(event);
72
73         reportResult(arguments.callee.name, [ "f1", "f2" ]);
74     },
75
76     function testXHR()
77     {
78         reset();
79         var x = new XMLHttpRequest;
80         x.addEventListener("readystatechange", f1, false);
81         x.onreadystatechange = f2;
82         x.addEventListener("readystatechange", f3, false);
83
84         x.open("GET", "resources/does-not-exist");
85
86         reportResult(arguments.callee.name, [ "f1", "f2" ]);
87     },
88
89     function testXHRUpload()
90     {
91         reset();
92         var x = new XMLHttpRequest;
93         x.upload.addEventListener("abort", f1, false);
94         x.upload.onabort = f2;
95         x.upload.addEventListener("abort", f3, false);
96
97         x.open("POST", "resources/does-not-exist");
98         x.abort();
99
100         reportResult(arguments.callee.name, [ "f1", "f2" ]);
101     }
102 ];
103
104 for (var i = 0; i < tests.length; ++i)
105     tests[i]();
106 </script>