Bug 1945643 - Update to mozilla-nimbus-schemas 2025.1.1 r=chumphreys
[gecko.git] / dom / media / webvtt / test / mochitest / test_texttracklist.html
blobc1d229628989d25083e5b2699fac2c4d9e55db28
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();
20 let video = document.createElement("video");
22 isnot(video.textTracks, null, "Video should have a list of TextTracks.");
24 video.addTextTrack("subtitles", "", "");
26 let track = video.textTracks[0];
27 video.textTracks.addEventListener("change", changed);
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";
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.");
45 // Delay the finish function call for testing the change event count.
46 setTimeout(SimpleTest.finish, 0);
48 </script>
49 </pre>
50 </body>
51 </html>