Tests cue line position from settings.



*** Testing text track 0
EXPECTED (cues.length == '7') OK
EXPECTED (cues[0].line == '0') OK
EXPECTED (cues[0].snapToLines == 'false') OK
EXPECTED (cues[1].line == '0') OK
EXPECTED (cues[1].snapToLines == 'true') OK
EXPECTED (cues[2].line == '50.2') OK
EXPECTED (cues[2].snapToLines == 'false') OK
EXPECTED (cues[3].line == '5') OK
EXPECTED (cues[3].snapToLines == 'true') OK
EXPECTED (cues[4].line == '100') OK
EXPECTED (cues[4].snapToLines == 'false') OK
EXPECTED (cues[5].line == '-1') OK
EXPECTED (cues[5].snapToLines == 'true') OK
EXPECTED (cues[6].line == '500') OK
EXPECTED (cues[6].snapToLines == 'true') OK

*** Testing text track 1
EXPECTED (cues.length == '6') OK
EXPECTED (cues[0].line == '-1') OK
EXPECTED (cues[0].snapToLines == 'true') OK
EXPECTED (cues[1].line == '-1') OK
EXPECTED (cues[1].snapToLines == 'true') OK
EXPECTED (cues[2].line == '-1') OK
EXPECTED (cues[2].snapToLines == 'true') OK
EXPECTED (cues[3].line == '-1') OK
EXPECTED (cues[3].snapToLines == 'true') OK
EXPECTED (cues[4].line == '-1') OK
EXPECTED (cues[4].snapToLines == 'true') OK
EXPECTED (cues[5].line == '-1') OK
EXPECTED (cues[5].snapToLines == 'true') OK
END OF TEST

