Source code

Revision control

Copy as Markdown

Other Tools

settings, line
assert_equals(cues.length, 46);
// Test starts with simple valid values
var valid_values = [
-1,
0,
0,
1,
100,
101,
65536,
4294967296,
18446744073709552000,
10000000000000000000000000000000000,
1.5,
Number.MAX_VALUE,
-1 * Number.MAX_VALUE,
Number.MIN_VALUE,
0, // Less than Number.MIN_VALUE
];
valid_values.forEach(function(valid, index) {
assert_equals(cues[index].line, valid, 'Failed with cue ' + index);
assert_true(cues[index].snapToLines, 'Failed with cue ' + index);
});
// Then a set of invalid ones
var invalid_length = 23;
for (var i = 0; i < invalid_length; i++) {
var index = valid_values.length + i;
assert_equals(cues[index].line, 'auto', 'Failed with cue ' + index);
assert_true(cues[index].snapToLines, 'Failed with cue ' + index);
}
// Then more specific tests
var index = valid_values.length + invalid_length;
assert_equals(cues[index].line, 0);
assert_false(cues[index].snapToLines);
assert_equals(cues[index + 1].line, 0);
assert_false(cues[index + 1].snapToLines);
assert_equals(cues[index + 2].line, 100);
assert_false(cues[index + 2].snapToLines);
assert_equals(cues[index + 2].lineAlign, 'start');
assert_equals(cues[index + 3].line, 100);
assert_false(cues[index + 3].snapToLines);
assert_equals(cues[index + 3].lineAlign, 'start');
assert_equals(cues[index + 4].line, 100);
assert_false(cues[index + 4].snapToLines);
assert_equals(cues[index + 4].lineAlign, 'center');
assert_equals(cues[index + 5].line, 100);
assert_false(cues[index + 5].snapToLines);
assert_equals(cues[index + 5].lineAlign, 'end');
assert_equals(cues[index + 6].line, Number.MIN_VALUE);
assert_false(cues[index + 6].snapToLines);
assert_equals(cues[index + 7].line, 0);
assert_false(cues[index + 7].snapToLines);
===
WEBVTT
NOTE valid
00:00:00.000 --> 00:00:01.000 line:-1
valid0
00:00:00.000 --> 00:00:01.000 line:0
valid1
00:00:00.000 --> 00:00:01.000 line:-0
valid2
00:00:00.000 --> 00:00:01.000 line:1
valid3
00:00:00.000 --> 00:00:01.000 line:100
valid4
00:00:00.000 --> 00:00:01.000 line:101
valid5
00:00:00.000 --> 00:00:01.000 line:65536
valid6
00:00:00.000 --> 00:00:01.000 line:4294967296
valid7
00:00:00.000 --> 00:00:01.000 line:18446744073709552000
valid8
00:00:00.000 --> 00:00:01.000 line:10000000000000000000000000000000000
valid9
00:00:00.000 --> 00:00:01.000 line:1.5
valid10
Number.MAX_VALUE
00:00:00.000 --> 00:00:01.000 line:179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
valid11
-1 * Number.MAX_VALUE
00:00:00.000 --> 00:00:01.000 line:-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
valid12
Number.MIN_VALUE
00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005
valid13
Less than Number.MIN_VALUE
00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
valid14
NOTE invalid
00:00:00.000 --> 00:00:01.000 line:65536%
invalid15
00:00:00.000 --> 00:00:01.000 line:4294967296%
invalid16
00:00:00.000 --> 00:00:01.000 line:18446744073709552000%
invalid17
00:00:00.000 --> 00:00:01.000 line:10000000000000000000000000000000000%
invalid18
00:00:00.000 --> 00:00:01.000 line:-0%
invalid19
00:00:00.000 --> 00:00:01.000 line:101%
invalid20
00:00:00.000 --> 00:00:01.000 line:1%-
invalid21
00:00:00.000 --> 00:00:01.000 line:1-
invalid22
00:00:00.000 --> 00:00:01.000 line:%1
invalid23
00:00:00.000 --> 00:00:01.000 line:1%%
invalid24
00:00:00.000 --> 00:00:01.000 line:0%0
invalid25
00:00:00.000 --> 00:00:01.000 line: 0%
invalid26
00:00:00.000 --> 00:00:01.000 line:0%x
invalid27
00:00:00.000 --> 00:00:01.000 line:-
invalid28
00:00:00.000 --> 00:00:01.000 line:%
invalid29
00:00:00.000 --> 00:00:01.000 line:1..5
invalid30
00:00:00.000 --> 00:00:01.000 line:.5
invalid31
00:00:00.000 --> 00:00:01.000 line:5.
invalid32
Greater than Number.MAX_VALUE
00:00:00.000 --> 00:00:01.000 line:179769313486231590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
invalid33
Less than -1 * Number.MAX_VALUE
00:00:00.000 --> 00:00:01.000 line:-179769313486231590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
invalid34
exponential notation
00:00:00.000 --> 00:00:01.000 line:1e2
invalid35
00:00:00.000 --> 00:00:01.000 line:100%,middle
invalid36
00:00:00.000 --> 00:00:01.000 line:100%,
invalid37
NOTE extra
00:00:00.000 --> 00:00:01.000 line:0%
text38
00:00:00.000 --> 00:00:01.000 line:00%
text39
00:00:00.000 --> 00:00:01.000 line:100%
text40
00:00:00.000 --> 00:00:01.000 line:100%,start
text41
00:00:00.000 --> 00:00:01.000 line:100%,center
text42
00:00:00.000 --> 00:00:01.000 line:100%,end
text43
Number.MIN_VALUE %
00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005%
text44
Less than Number.MIN_VALUE %
00:00:00.000 --> 00:00:01.000 line:0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002%
text45