align.html (2194B)
1 <!doctype html> 2 <title>VTTCue.align</title> 3 <link rel="help" href="https://w3c.github.io/webvtt/#dom-vttcue-align"> 4 <script src=/resources/testharness.js></script> 5 <script src=/resources/testharnessreport.js></script> 6 <script src=common.js></script> 7 <div id=log></div> 8 <script> 9 test(function(){ 10 var video = document.createElement('video'); 11 document.body.appendChild(video); 12 13 var cue = new VTTCue(0, 1, 'text'); 14 assert_true('align' in cue, 'align is not supported'); 15 assert_equals(cue.align, 'center'); 16 17 var track = document.createElement('track'); 18 var t = track.track; 19 t.addCue(cue); 20 21 assert_equals(cue.align, 'center'); 22 23 video.appendChild(track); 24 assert_equals(cue.align, 'center'); 25 26 t.mode = 'showing'; 27 assert_equals(cue.align, 'center'); 28 29 cue.align = 'start'; 30 assert_equals(cue.align, 'start'); 31 32 cue.align = 'end'; 33 assert_equals(cue.align, 'end'); 34 35 ['start\u0000', 'centre', 'middle'].forEach(function(invalid) { 36 cue.align = invalid; 37 assert_equals(cue.align, 'end'); 38 }); 39 }, document.title+', script-created cue'); 40 41 var t_parsed = async_test(document.title+', parsed cue'); 42 t_parsed.step(function(){ 43 var video = document.createElement('video'); 44 document.body.appendChild(video); 45 var t = document.createElement('track'); 46 t.onload = this.step_func(function(){ 47 var c1 = t.track.cues[0]; 48 var c2 = t.track.cues[1]; 49 var c3 = t.track.cues[2]; 50 var c4 = t.track.cues[3]; 51 assert_equals(c1.align, 'center'); 52 assert_equals(c2.align, 'start'); 53 assert_equals(c3.align, 'center'); 54 assert_equals(c4.align, 'end'); 55 this.done(); 56 }); 57 t.onerror = this.step_func(function() { 58 assert_unreached('got error event'); 59 }); 60 t.src = make_vtt_track('WEBVTT\n\n00:00:00.000 --> 00:00:00.001\ntest\n\n'+ 61 '00:00:00.000 --> 00:00:00.001 align:start\ntest\n\n'+ 62 '00:00:00.000 --> 00:00:00.001 align:center\ntest\n\n'+ 63 '00:00:00.000 --> 00:00:00.001 align:end\ntest', this); 64 t.track.mode = 'showing'; 65 video.appendChild(t); 66 }); 67 </script>