addCue.html (2408B)
1 <!doctype html> 2 <title>TextTrack.addCue()</title> 3 <script src=/resources/testharness.js></script> 4 <script src=/resources/testharnessreport.js></script> 5 <div id=log></div> 6 <script> 7 setup(function(){ 8 window.video = document.createElement('video'); 9 document.body.appendChild(video); 10 }); 11 test(function() { 12 var t1 = video.addTextTrack('subtitles'); 13 var t2 = video.addTextTrack('subtitles'); 14 var c1 = new VTTCue(0, 1, 'text1'); 15 t1.addCue(c1); 16 t2.addCue(c1); 17 assert_equals(c1.track, t2); 18 }, document.title+', adding a cue to two different tracks'); 19 test(function() { 20 var t1 = video.addTextTrack('subtitles'); 21 var c1 = new VTTCue(0, 1, 'text1'); 22 t1.addCue(c1); 23 assert_equals(c1.track, t1); 24 t1.addCue(c1); 25 assert_equals(c1.track, t1); 26 }, document.title+', adding a cue to a track twice'); 27 test(function() { 28 var t1 = video.addTextTrack('subtitles'); 29 var t2 = video.addTextTrack('subtitles'); 30 var c1 = new VTTCue(0, 1, 'text1'); 31 t1.addCue(c1); 32 assert_equals(c1.track, t1); 33 t1.removeCue(c1); 34 assert_equals(c1.track, null); 35 t2.addCue(c1); 36 assert_equals(c1.track, t2); 37 }, document.title+', adding a removed cue to a different track'); 38 test(function() { 39 var t1 = video.addTextTrack('subtitles'); 40 var c1 = new VTTCue(0, 1, 'text1'); 41 t1.addCue(c1); 42 assert_equals(t1.cues.length, 1, 't1.cues.length after first addition'); 43 t1.removeCue(c1); 44 assert_equals(t1.cues.length, 0, 't1.cues.length after removal'); 45 t1.addCue(c1); 46 assert_equals(t1.cues.length, 1, 't1.cues.length after second addition'); 47 }, document.title+', adding an associated but removed cue to the same track'); 48 49 var t = async_test(document.title+', adding a cue associated with a track element to other track'); 50 t.step(function(){ 51 var t1 = video.addTextTrack('subtitles'); 52 var track = document.createElement('track'); 53 track.onload = t.step_func(function(){ 54 var cue = track.track.cues[0]; 55 track.track.removeCue(cue); 56 t1.addCue(cue); 57 assert_equals(cue.track, t1); 58 t.done(); 59 }); 60 track.onerror = t.step_func(function() { 61 assert_unreached('got error event'); 62 }); 63 track.src= 'data:text/vtt,'+encodeURIComponent('WEBVTT\n\n00:00:00.000 --> 00:00:01.000\ntest\n'); 64 track.kind = 'subtitles'; 65 track.track.mode = 'hidden'; 66 video.appendChild(track); 67 }); 68 </script>