tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_trackevent.html (2329B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test for Bug 893309 - Implement TrackEvent</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
      7 </head>
      8 <body>
      9 <p id="display"></p>
     10 <div id="content" style="display: none">
     11 </div>
     12 <pre id="test">
     13 <script class="testbody" type="text/javascript">
     14 SimpleTest.waitForExplicitFinish();
     15 
     16 var video = document.createElement("video");
     17 isnot(video.textTracks, undefined, "HTMLMediaElement::TextTrack() property should be available.")
     18 ok(typeof video.addTextTrack == "function", "HTMLMediaElement::AddTextTrack() function should be available.")
     19 
     20 var trackList = video.textTracks;
     21 is(trackList.length, 0, "Length should be 0.");
     22 
     23 var evtTextTrack, numOfCalls = 0, tt;
     24 trackList.onaddtrack = function(event) {
     25  ok(event instanceof TrackEvent, "Fired event from onaddtrack should be a TrackEvent");
     26  is(event.type, "addtrack", "Event type should be addtrack");
     27  ok(event.isTrusted, "Event should be trusted!");
     28  ok(!event.bubbles, "Event shouldn't bubble!");
     29  ok(!event.cancelable, "Event shouldn't be cancelable!");
     30 
     31  evtTextTrack = event.track;
     32  tt = textTrack[numOfCalls].track || textTrack[numOfCalls];
     33 
     34  ok(tt === evtTextTrack, "Text tracks should be the same");
     35  is(evtTextTrack.label, label[numOfCalls], "Label should be set to "+ label[numOfCalls]);
     36  is(evtTextTrack.language, language[numOfCalls], "Language should be " + language[numOfCalls]);
     37  is(evtTextTrack.kind, kind[numOfCalls], "Kind should be " + kind[numOfCalls]);
     38 
     39  if (++numOfCalls == 4) {
     40    SimpleTest.finish();
     41  }
     42 };
     43 
     44 var label = ["Oasis", "Coldplay", "t.A.T.u", ""];
     45 var language = ["en-CA", "en-GB", "ru", ""];
     46 var kind = ["subtitles", "captions", "chapters", "subtitles"];
     47 
     48 var textTrack = new Array(4);
     49 for (var i = 0; i < 3; ++i) {
     50  textTrack[i] = video.addTextTrack(kind[i], label[i], language[i]);
     51  is(trackList.length, i + 1, "Length should be " + (i+1));
     52 }
     53 
     54 video.src = "seek.webm";
     55 video.preload = "auto";
     56 var trackElement = document.createElement("track");
     57 trackElement.src = "basic.vtt";
     58 textTrack[3] = trackElement;
     59 
     60 document.getElementById("content").appendChild(video);
     61 video.appendChild(trackElement);
     62 
     63 //TODO: Tests for removetrack event to be added along with bug 882677
     64 </script>
     65 </pre>
     66 </body>
     67 </html>