| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>HTML Test: marquee-events</title> |
| <link rel="author" title="Intel" href="http://www.intel.com/"> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/multipage/obsolete.html#the-marquee-element"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <marquee id="test1" loop="2" width="1" behavior="alternate"> </marquee> |
| <marquee id="test2" loop="2" width="1"> </marquee> |
| <script> |
| var mq; |
| var t_start = async_test("marquee_events_start"); |
| var t_finish = async_test("marquee_events_finish"); |
| var t_bounce = async_test("marquee_events_bounce"); |
| var t_bounce2 = async_test("marquee_events_bounce2"); |
| var timeStamp = []; |
| var bounced = false; |
| |
| setup(function() { |
| mq = document.getElementById("test1"); |
| mq2 = document.getElementById("test2"); |
| }); |
| |
| mq.addEventListener("start", function(evt) { |
| t_start.step(function() { |
| timeStamp.push(evt.timeStamp); |
| assert_true(evt.isTrusted, "The onstart event is created by UA, it must be trusted."); |
| assert_equals(timeStamp.length, 1, "The onstart event should be fired firstly."); |
| assert_false(evt.bubbles, "The bubbles property of onstart event should be false."); |
| assert_false(evt.cancelable, "The cancelable property of onstart event should be false."); |
| assert_true(evt instanceof Event, "The onstart event must be the instance of Event interface."); |
| }); |
| t_start.done(); |
| }); |
| |
| mq.addEventListener("finish", function(evt) { |
| t_finish.step(function() { |
| timeStamp.push(evt.timeStamp); |
| assert_true(evt.isTrusted, "The onfinish event is created by UA, it must be trusted."); |
| assert_equals(timeStamp.length, 3, "The onfinish event should be fired lastly."); |
| assert_false(evt.bubbles, "The bubbles property of onfinish event should be false."); |
| assert_false(evt.cancelable, "The cancelable property of onfinish event should be false."); |
| assert_true(evt instanceof Event, "The onfinish event must be the instance of Event interface."); |
| }); |
| t_finish.done(); |
| }); |
| |
| mq.addEventListener("bounce", function(evt) { |
| t_bounce.step(function() { |
| timeStamp.push(evt.timeStamp); |
| assert_true(evt.isTrusted, "The onbounce event is created by UA, it must be trusted."); |
| assert_equals(timeStamp.length, 2, "The onbounce event should be fired secondly."); |
| assert_false(evt.bubbles, "The bubbles property of onbounce event should be false."); |
| assert_false(evt.cancelable, "The cancelable property of onbounce event should be false."); |
| assert_true(evt instanceof Event, "The onbounce event must be the instance of Event interface."); |
| }); |
| t_bounce.done(); |
| }); |
| |
| mq2.addEventListener("bounce", function(evt) { |
| bounced = true; |
| }); |
| |
| mq2.addEventListener("finish", function(evt) { |
| t_bounce2.step(function () { |
| assert_false(bounced, "The onbounce event should not be fired."); |
| }); |
| t_bounce2.done(); |
| }); |
| </script> |