snapToLines.html (3209B)
1 <!doctype html> 2 <title>VTTCue.snapToLines</title> 3 <link rel="help" href="https://w3c.github.io/webvtt/#dom-vttcue-snaptolines"> 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 setup(function(){ 10 window.video = document.createElement('video'); 11 window.t1 = video.addTextTrack('subtitles'); 12 document.body.appendChild(video); 13 }); 14 test(function(){ 15 var c1 = new VTTCue(0, 1, 'text1'); 16 assert_true('snapToLines' in c1, 'snapToLines is not supported'); 17 assert_true(c1.snapToLines); 18 c1.line = 101; 19 c1.snapToLines = false; 20 assert_false(c1.snapToLines); 21 c1.snapToLines = true; 22 assert_true(c1.snapToLines); 23 c1.line = -1; 24 c1.snapToLines = false; 25 assert_false(c1.snapToLines); 26 c1.snapToLines = true; 27 assert_true(c1.snapToLines); 28 c1.line = 0; 29 c1.snapToLines = false; 30 assert_false(c1.snapToLines); 31 }, document.title+', script-created cue'); 32 33 var t_parsed = async_test(document.title+', parsed cue'); 34 t_parsed.step(function(){ 35 var t = document.createElement('track'); 36 t.onload = this.step_func(function(){ 37 var c1 = t.track.cues[0]; 38 assert_true(c1.snapToLines); 39 c1.line = 101; 40 c1.snapToLines = false; 41 assert_false(c1.snapToLines); 42 c1.snapToLines = true; 43 assert_true(c1.snapToLines); 44 c1.line = -1; 45 c1.snapToLines = false; 46 assert_false(c1.snapToLines); 47 c1.snapToLines = true; 48 assert_true(c1.snapToLines); 49 c1.line = 0; 50 c1.snapToLines = false; 51 assert_false(c1.snapToLines); 52 53 var c2 = t.track.cues[1]; 54 assert_true(c2.snapToLines); 55 c2.line = 101; 56 c2.snapToLines = false; 57 assert_false(c2.snapToLines); 58 c2.snapToLines = true; 59 assert_true(c2.snapToLines); 60 c2.line = -1; 61 c2.snapToLines = false; 62 assert_false(c2.snapToLines); 63 c2.snapToLines = true; 64 assert_true(c2.snapToLines); 65 c2.line = 0; 66 c2.snapToLines = false; 67 assert_false(c2.snapToLines); 68 69 var c3 = t.track.cues[2]; 70 assert_false(c3.snapToLines); 71 c3.snapToLines = false; 72 assert_false(c3.snapToLines); 73 c3.snapToLines = true; 74 assert_true(c3.snapToLines); 75 c3.line = 101; 76 c3.snapToLines = false; 77 assert_false(c3.snapToLines); 78 c3.snapToLines = true; 79 assert_true(c3.snapToLines); 80 c3.line = -1; 81 c3.snapToLines = false; 82 assert_false(c3.snapToLines); 83 c3.snapToLines = true; 84 assert_true(c3.snapToLines); 85 c3.line = 0; 86 c3.snapToLines = false; 87 assert_false(c3.snapToLines); 88 89 this.done(); 90 }); 91 t.onerror = this.step_func(function() { 92 assert_unreached('got error event'); 93 }); 94 t.src = make_vtt_track('WEBVTT\n\n00:00:00.000 --> 00:00:00.001\ntest\n\n'+ 95 '00:00:00.000 --> 00:00:00.001 line:0\ntest\n\n'+ 96 '00:00:00.000 --> 00:00:00.001 line:0%\ntest', this); 97 t.track.mode = 'showing'; 98 video.appendChild(t); 99 }); 100 </script>