| <!doctype html> |
| <title>TextTrack.removeCue()</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <div id=log></div> |
| <script> |
| setup(function(){ |
| window.video = document.createElement('video'); |
| document.body.appendChild(video); |
| }, {timeout:5000}); |
| test(function() { |
| var t1 = video.addTextTrack('subtitles'); |
| var t2 = video.addTextTrack('subtitles'); |
| var c1 = new VTTCue(0, 1, 'text1'); |
| assert_throws("NOT_FOUND_ERR", function() { |
| t1.removeCue(c1); |
| }, 'standalone'); |
| t1.addCue(c1); |
| assert_throws("NOT_FOUND_ERR", function() { |
| t2.removeCue(c1); |
| }, 'listed in t1, remove from t2'); |
| t1.removeCue(c1); |
| assert_throws("NOT_FOUND_ERR", function() { |
| t1.removeCue(c1); |
| }, 'standalone, remove from t1'); |
| assert_throws("NOT_FOUND_ERR", function() { |
| t2.removeCue(c1); |
| }, 'standalone, remove from t2'); |
| }, document.title+', two elementless tracks'); |
| var t = async_test(document.title+', cue from track element'); |
| t.step(function(){ |
| var t1 = video.addTextTrack('subtitles'); |
| var track = document.createElement('track'); |
| track.onload = t.step_func(function(){ |
| var cue = track.track.cues[0]; |
| assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'listed in track.track, remove from t1'); |
| track.track.removeCue(cue); |
| assert_throws('NOT_FOUND_ERR', function() { track.track.removeCue(cue); }, 'standalone, remove from track.track'); |
| assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'standalone, remove from t1'); |
| t.done(); |
| }); |
| track.onerror = t.step_func(function() { |
| assert_unreached('got error event'); |
| }); |
| track.src= 'data:text/vtt,'+encodeURIComponent('WEBVTT\n\n00:00:00.000 --> 00:00:01.000\ntest\n'); |
| track.kind = 'subtitles'; |
| track.track.mode = 'hidden'; |
| video.appendChild(track); |
| }); |
| </script> |