OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <title>Tests that the 'addtrack' event is fired when a TextTrack is created.</ti
tle> |
3 <head> | 3 <script src="../../resources/testharness.js"></script> |
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 4 <script src="../../resources/testharnessreport.js"></script> |
| 5 <script> |
| 6 async_test(function(t) { |
| 7 var video = document.createElement('video'); |
5 | 8 |
6 <script src=../media-file.js></script> | 9 var trackElement = document.createElement('track'); |
7 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 | 10 video.appendChild(trackElement); |
8 (Please avoid writing new tests using video-test.js) --> | 11 var tracks = []; |
9 <script src=../video-test.js></script> | 12 tracks.push(trackElement.track); |
10 <script> | |
11 | 13 |
12 var tracks = []; | 14 // Register the 'addtrack' listener after creating the element |
13 var trackElement; | 15 // to make sure the event is dispatched asynchronously. |
14 function trackAdded() | 16 video.textTracks.onaddtrack = t.step_func(function() { |
15 { | 17 assert_equals(event.target, video.textTracks); |
16 consoleWrite("EVENT(" + event.type + ")"); | 18 assert_true(event instanceof TrackEvent, 'instanceof'); |
| 19 assert_equals(event.track, tracks[video.textTracks.length - 1]); |
17 | 20 |
18 testExpected("event.target", video.textTracks); | 21 if (video.textTracks.length == 1) { |
19 testExpected("event instanceof window.TrackEvent", true); | 22 tracks.push(video.addTextTrack('captions', 'Caption Track', 'en')); |
20 testExpected("event.track", tracks[video.textTracks.length - 1])
; | 23 assert_equals(video.textTracks.length, 2); |
| 24 } else { |
| 25 t.done(); |
| 26 } |
| 27 }); |
21 | 28 |
22 if (video.textTracks.length == 1) { | 29 trackElement.src = 'captions-webvtt/tc004-webvtt-file.vtt'; |
23 consoleWrite("<br>** Test a TextTrack created with video.add
TextTrack()."); | 30 trackElement.track.mode = 'hidden'; |
24 run("tracks.push(video.addTextTrack('captions', 'Caption Tra
ck', 'en'))"); | 31 assert_equals(video.textTracks.length, 1); |
25 testExpected("video.textTracks.length", 2); | 32 assert_equals(trackElement.readyState, HTMLTrackElement.NONE); |
26 } else { | 33 }); |
27 consoleWrite(""); | 34 </script> |
28 endTest(); | |
29 } | |
30 } | |
31 | |
32 function start() | |
33 { | |
34 findMediaElement(); | |
35 | |
36 consoleWrite("** Test a TextTrack created for a <track> el
ement."); | |
37 run("trackElement = document.createElement('track')"); | |
38 run("video.appendChild(trackElement)"); | |
39 tracks.push(trackElement.track); | |
40 | |
41 // Register the 'addtrack' listener after creating the element t
o make sure the | |
42 // event is dispatch asynchronously. | |
43 video.textTracks.addEventListener("addtrack", trackAdded); | |
44 | |
45 run("trackElement.src = 'captions-webvtt/tc004-webvtt-file.vtt'"
); | |
46 run("trackElement.track.mode = 'hidden'"); | |
47 testExpected("video.textTracks.length", 1); | |
48 testExpected("trackElement.readyState", HTMLTrackElement.NONE); | |
49 } | |
50 | |
51 </script> | |
52 </head> | |
53 <body onload="start()"> | |
54 <p>Tests that the 'addtrack' event is fired when a TextTrack is created.
</p> | |
55 <video> | |
56 </video> | |
57 </body> | |
58 </html> | |
OLD | NEW |