track-webvtt-align-text-line-position.html (1951B)
1 <!DOCTYPE html> 2 <title>Cue alignment, line and text position from settings</title> 3 <script src="track-helpers.js"></script> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <video> 7 <track src="resources/align-text-line-position.vtt"> 8 <track src="resources/align-text-line-position-bad.vtt"> 9 </video> 10 <script> 11 async_test(function(t) { 12 var video = document.querySelector("video"); 13 14 var trackElements = document.querySelectorAll("track"); 15 assert_equals(trackElements.length, video.textTracks.length); 16 for (var i = 0; i < trackElements.length; i++) 17 trackElements[i].onload = t.step_func(trackLoaded); 18 19 enableAllTextTracks(video.textTracks); 20 21 var numberOfTracksLoaded = 0; 22 function trackLoaded() { 23 numberOfTracksLoaded++; 24 if (numberOfTracksLoaded != 2) 25 return; 26 27 testTrack(0); 28 testTrackError(1); 29 t.done(); 30 } 31 32 function testTrack(index) { 33 var expected = [ 34 { align : "start", position : 10, line : 0, snapToLines : false }, 35 { align : "start", position : "auto", line : 0, snapToLines : true }, 36 { align : "center", position : 80, line : 80, snapToLines : false }, 37 { align : "end", position : 30, line : 5, snapToLines : true }, 38 { align : "center", position : 60, line : -3, snapToLines : true } 39 ]; 40 41 assert_cues_match(video.textTracks[index].cues, expected); 42 } 43 44 function testTrackError(index) { 45 var expected = [ 46 { align : "center", position : "auto", line : "auto", snapToLines : true }, 47 { align : "end", position : 0, line : "auto", snapToLines : true }, 48 { align : "center", position : 60, line : -3, snapToLines : true } 49 ]; 50 51 assert_cues_match(video.textTracks[index].cues, expected); 52 } 53 }); 54 </script>