OLD | NEW |
1 <!doctype html> | 1 <!doctype html> |
2 <title>TextTrack.removeCue()</title> | 2 <title>TextTrack.removeCue()</title> |
3 <script src=../../../../../resources/testharness.js></script> | 3 <script src=../../../../../resources/testharness.js></script> |
4 <script src=../../../../../resources/testharnessreport.js></script> | 4 <script src=../../../../../resources/testharnessreport.js></script> |
5 <div id=log></div> | 5 <div id=log></div> |
6 <script> | 6 <script> |
7 setup(function(){ | 7 setup(function(){ |
8 window.video = document.createElement('video'); | 8 window.video = document.createElement('video'); |
9 document.body.appendChild(video); | 9 document.body.appendChild(video); |
10 }, {timeout:5000}); | 10 }, {timeout:5000}); |
11 test(function() { | 11 test(function() { |
12 var t1 = video.addTextTrack('subtitles'); | 12 var t1 = video.addTextTrack('subtitles'); |
13 var t2 = video.addTextTrack('subtitles'); | 13 var t2 = video.addTextTrack('subtitles'); |
14 var c1 = new VTTCue(0, 1, 'text1'); | 14 var c1 = new VTTCue(0, 1, 'text1'); |
15 assert_throws("NOT_FOUND_ERR", function() { | 15 assert_throws("NOT_FOUND_ERR", function() { |
16 t1.removeCue(c1); | 16 t1.removeCue(c1); |
17 }, 'standalone'); | 17 }, 'standalone'); |
18 t1.addCue(c1); | 18 t1.addCue(c1); |
19 assert_throws("NOT_FOUND_ERR", function() { | 19 assert_throws("NOT_FOUND_ERR", function() { |
20 t2.removeCue(c1); | 20 t2.removeCue(c1); |
21 }, 'listed in t1, remove from t2'); | 21 }, 'listed in t1, remove from t2'); |
22 t1.removeCue(c1); | 22 t1.removeCue(c1); |
23 assert_throws("NOT_FOUND_ERR", function() { | 23 assert_throws("NOT_FOUND_ERR", function() { |
24 t1.removeCue(c1); | 24 t1.removeCue(c1); |
25 }, 'standalone, remove from t1'); | 25 }, 'standalone, remove from t1'); |
26 assert_throws("NOT_FOUND_ERR", function() { | 26 assert_throws("NOT_FOUND_ERR", function() { |
27 t2.removeCue(c1); | 27 t2.removeCue(c1); |
28 }, 'standalone, remove from t2'); | 28 }, 'standalone, remove from t2'); |
29 }, document.title+', two elementless tracks'); | 29 }, document.title+', two elementless tracks'); |
| 30 |
| 31 test(function() { |
| 32 var t1 = video.addTextTrack('subtitles'); |
| 33 assert_equals(t1.cues.length, 0); |
| 34 assert_throws(new TypeError, function() { t1.removeCue(null); }, 'null'); |
| 35 assert_throws(new TypeError, function() { t1.removeCue([]); }, 'non-TextTrac
kCue'); |
| 36 assert_equals(t1.cues.length, 0); |
| 37 }, document.title+', invalid values'); |
| 38 |
30 var t = async_test(document.title+', cue from track element'); | 39 var t = async_test(document.title+', cue from track element'); |
31 t.step(function(){ | 40 t.step(function(){ |
32 var t1 = video.addTextTrack('subtitles'); | 41 var t1 = video.addTextTrack('subtitles'); |
33 var track = document.createElement('track'); | 42 var track = document.createElement('track'); |
34 track.onload = t.step_func(function(){ | 43 track.onload = t.step_func(function(){ |
35 var cue = track.track.cues[0]; | 44 var cue = track.track.cues[0]; |
36 assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'liste
d in track.track, remove from t1'); | 45 assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'liste
d in track.track, remove from t1'); |
37 track.track.removeCue(cue); | 46 track.track.removeCue(cue); |
38 assert_throws('NOT_FOUND_ERR', function() { track.track.removeCue(cue);
}, 'standalone, remove from track.track'); | 47 assert_throws('NOT_FOUND_ERR', function() { track.track.removeCue(cue);
}, 'standalone, remove from track.track'); |
39 assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'stand
alone, remove from t1'); | 48 assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'stand
alone, remove from t1'); |
40 t.done(); | 49 t.done(); |
41 }); | 50 }); |
42 track.src= 'data:text/vtt,'+encodeURIComponent('WEBVTT\n\n00:00:00.000 --> 0
0:00:01.000\ntest\n'); | 51 track.src= 'data:text/vtt,'+encodeURIComponent('WEBVTT\n\n00:00:00.000 --> 0
0:00:01.000\ntest\n'); |
43 track.kind = 'subtitles'; | 52 track.kind = 'subtitles'; |
44 track.track.mode = 'hidden'; | 53 track.track.mode = 'hidden'; |
45 video.appendChild(track); | 54 video.appendChild(track); |
46 }); | 55 }); |
47 </script> | 56 </script> |
OLD | NEW |