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 == 'auto') OK
EXPECTED (cues[0].snapToLines == 'true') OK
EXPECTED (cues[1].line == '0.5'), OBSERVED 'auto' FAIL
EXPECTED (cues[1].snapToLines == 'true') OK
EXPECTED (cues[2].line == 'auto') OK
EXPECTED (cues[2].snapToLines == 'true') OK
EXPECTED (cues[3].line == 'auto') OK
EXPECTED (cues[3].snapToLines == 'true') OK
EXPECTED (cues[4].line == 'auto') OK
EXPECTED (cues[4].snapToLines == 'true') OK
EXPECTED (cues[5].line == 'auto') OK
EXPECTED (cues[5].snapToLines == 'true') OK
END OF TEST

