settings-line.test (7071B)
1 settings, line 2 <link rel="help" href="https://w3c.github.io/webvtt/#collect-webvtt-cue-timings-and-settings"> 3 4 assert_equals(cues.length, 46); 5 6 // Test starts with simple valid values 7 var valid_values = [ 8 -1, 9 0, 10 0, 11 1, 12 100, 13 101, 14 65536, 15 4294967296, 16 18446744073709552000, 17 10000000000000000000000000000000000, 18 1.5, 19 Number.MAX_VALUE, 20 -1 * Number.MAX_VALUE, 21 Number.MIN_VALUE, 22 0, // Less than Number.MIN_VALUE 23 ]; 24 valid_values.forEach(function(valid, index) { 25 assert_equals(cues[index].line, valid, 'Failed with cue ' + index); 26 assert_true(cues[index].snapToLines, 'Failed with cue ' + index); 27 }); 28 29 // Then a set of invalid ones 30 var invalid_length = 23; 31 for (var i = 0; i < invalid_length; i++) { 32 var index = valid_values.length + i; 33 34 assert_equals(cues[index].line, 'auto', 'Failed with cue ' + index); 35 assert_true(cues[index].snapToLines, 'Failed with cue ' + index); 36 } 37 38 // Then more specific tests 39 var index = valid_values.length + invalid_length; 40 41 assert_equals(cues[index].line, 0); 42 assert_false(cues[index].snapToLines); 43 44 assert_equals(cues[index + 1].line, 0); 45 assert_false(cues[index + 1].snapToLines); 46 47 assert_equals(cues[index + 2].line, 100); 48 assert_false(cues[index + 2].snapToLines); 49 assert_equals(cues[index + 2].lineAlign, 'start'); 50 51 assert_equals(cues[index + 3].line, 100); 52 assert_false(cues[index + 3].snapToLines); 53 assert_equals(cues[index + 3].lineAlign, 'start'); 54 55 assert_equals(cues[index + 4].line, 100); 56 assert_false(cues[index + 4].snapToLines); 57 assert_equals(cues[index + 4].lineAlign, 'center'); 58 59 assert_equals(cues[index + 5].line, 100); 60 assert_false(cues[index + 5].snapToLines); 61 assert_equals(cues[index + 5].lineAlign, 'end'); 62 63 assert_equals(cues[index + 6].line, Number.MIN_VALUE); 64 assert_false(cues[index + 6].snapToLines); 65 66 assert_equals(cues[index + 7].line, 0); 67 assert_false(cues[index + 7].snapToLines); 68 69 === 70 WEBVTT 71 72 NOTE valid 73 74 00:00:00.000 --> 00:00:01.000 line:-1 75 valid0 76 77 00:00:00.000 --> 00:00:01.000 line:0 78 valid1 79 80 00:00:00.000 --> 00:00:01.000 line:-0 81 valid2 82 83 00:00:00.000 --> 00:00:01.000 line:1 84 valid3 85 86 00:00:00.000 --> 00:00:01.000 line:100 87 valid4 88 89 00:00:00.000 --> 00:00:01.000 line:101 90 valid5 91 92 00:00:00.000 --> 00:00:01.000 line:65536 93 valid6 94 95 00:00:00.000 --> 00:00:01.000 line:4294967296 96 valid7 97 98 00:00:00.000 --> 00:00:01.000 line:18446744073709552000 99 valid8 100 101 00:00:00.000 --> 00:00:01.000 line:10000000000000000000000000000000000 102 valid9 103 104 00:00:00.000 --> 00:00:01.000 line:1.5 105 valid10 106 107 Number.MAX_VALUE 108 00:00:00.000 --> 00:00:01.000 line:179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 109 valid11 110 111 -1 * Number.MAX_VALUE 112 00:00:00.000 --> 00:00:01.000 line:-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 113 valid12 114 115 Number.MIN_VALUE 116 00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005 117 valid13 118 119 Less than Number.MIN_VALUE 120 00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002 121 valid14 122 123 NOTE invalid 124 125 00:00:00.000 --> 00:00:01.000 line:65536% 126 invalid15 127 128 00:00:00.000 --> 00:00:01.000 line:4294967296% 129 invalid16 130 131 00:00:00.000 --> 00:00:01.000 line:18446744073709552000% 132 invalid17 133 134 00:00:00.000 --> 00:00:01.000 line:10000000000000000000000000000000000% 135 invalid18 136 137 00:00:00.000 --> 00:00:01.000 line:-0% 138 invalid19 139 140 00:00:00.000 --> 00:00:01.000 line:101% 141 invalid20 142 143 00:00:00.000 --> 00:00:01.000 line:1%- 144 invalid21 145 146 00:00:00.000 --> 00:00:01.000 line:1- 147 invalid22 148 149 00:00:00.000 --> 00:00:01.000 line:%1 150 invalid23 151 152 00:00:00.000 --> 00:00:01.000 line:1%% 153 invalid24 154 155 00:00:00.000 --> 00:00:01.000 line:0%0 156 invalid25 157 158 00:00:00.000 --> 00:00:01.000 line: 0% 159 invalid26 160 161 00:00:00.000 --> 00:00:01.000 line:0%x 162 invalid27 163 164 00:00:00.000 --> 00:00:01.000 line:- 165 invalid28 166 167 00:00:00.000 --> 00:00:01.000 line:% 168 invalid29 169 170 00:00:00.000 --> 00:00:01.000 line:1..5 171 invalid30 172 173 00:00:00.000 --> 00:00:01.000 line:.5 174 invalid31 175 176 00:00:00.000 --> 00:00:01.000 line:5. 177 invalid32 178 179 Greater than Number.MAX_VALUE 180 00:00:00.000 --> 00:00:01.000 line:179769313486231590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 181 invalid33 182 183 Less than -1 * Number.MAX_VALUE 184 00:00:00.000 --> 00:00:01.000 line:-179769313486231590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 185 invalid34 186 187 exponential notation 188 00:00:00.000 --> 00:00:01.000 line:1e2 189 invalid35 190 191 00:00:00.000 --> 00:00:01.000 line:100%,middle 192 invalid36 193 194 00:00:00.000 --> 00:00:01.000 line:100%, 195 invalid37 196 197 NOTE extra 198 199 00:00:00.000 --> 00:00:01.000 line:0% 200 text38 201 202 00:00:00.000 --> 00:00:01.000 line:00% 203 text39 204 205 00:00:00.000 --> 00:00:01.000 line:100% 206 text40 207 208 00:00:00.000 --> 00:00:01.000 line:100%,start 209 text41 210 211 00:00:00.000 --> 00:00:01.000 line:100%,center 212 text42 213 214 00:00:00.000 --> 00:00:01.000 line:100%,end 215 text43 216 217 Number.MIN_VALUE % 218 00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005% 219 text44 220 221 Less than Number.MIN_VALUE % 222 00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002% 223 text45