test_texttracklist.html (1543B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=882703 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Media test: TextTrackList change event</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 </head> 12 <body> 13 <p id="display"></p> 14 <div id="content"> 15 </div> 16 <pre id="test"> 17 <script class="testbody" type="text/javascript"> 18 SimpleTest.waitForExplicitFinish(); 19 20 let video = document.createElement("video"); 21 22 isnot(video.textTracks, null, "Video should have a list of TextTracks."); 23 24 video.addTextTrack("subtitles", "", ""); 25 26 let track = video.textTracks[0]; 27 video.textTracks.addEventListener("change", changed); 28 29 is(track.mode, "hidden", "New TextTrack's mode should be hidden."); 30 track.mode = "showing"; 31 // Bug882674: change the mode again to see if we receive only one 32 // change event. 33 track.mode = "hidden"; 34 35 var eventCount = 0; 36 function changed(event) { 37 eventCount++; 38 is(eventCount, 1, "change event dispatched multiple times."); 39 is(event.target, video.textTracks, "change event's target should be video.textTracks."); 40 ok(event instanceof window.Event, "change event should be a simple event."); 41 ok(!event.bubbles, "change event should not bubble."); 42 ok(event.isTrusted, "change event should be trusted."); 43 ok(!event.cancelable, "change event should not be cancelable."); 44 45 // Delay the finish function call for testing the change event count. 46 setTimeout(SimpleTest.finish, 0); 47 } 48 </script> 49 </pre> 50 </body> 51 </html>