Update WPT tests for embedded content
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / html / semantics / embedded-content / media-elements / interfaces / TextTrack / addCue.html
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>