blob: 11896d95e65338f3d41846c57c5d07fa2fd8fbaf [file] [log] [blame]
Tests TextTrack's addCue and removeCue
*** Test cues loaded from the file.
EXPECTED (cues.length == '4') OK
EXPECTED (cues.getCueById('1').startTime == '0') OK
EXPECTED (cues[1].startTime == '31') OK
EXPECTED (cues[2].startTime == '61') OK
EXPECTED (cues.getCueById('4').startTime == '121') OK
EXPECTED (cues.getCueById('junk') == 'undefined') OK
*** Create a new cue, check values
RUN(textCue = new VTTCue(33, 3.4, 'Sausage?'))
EXPECTED (textCue.track == 'null') OK
EXPECTED (textCue.id == '') OK
EXPECTED (textCue.startTime == '33') OK
EXPECTED (textCue.endTime == '3.4') OK
EXPECTED (textCue.pauseOnExit == 'false') OK
EXPECTED (textCue.vertical == '') OK
EXPECTED (textCue.snapToLines == 'true') OK
EXPECTED (textCue.line == 'auto') OK
EXPECTED (textCue.position == '50') OK
EXPECTED (textCue.size == '100') OK
EXPECTED (textCue.align == 'middle') OK
*** Remove the unadded track, make sure it throws correctly.
TEST(testTrack.track.removeCue(textCue)) THROWS("NotFoundError: Failed to execute 'removeCue' on 'TextTrack': The specified cue is not listed in the TextTrack's list of cues.") OK
*** Add the new cue to a track, make sure it is inserted correctly.
RUN(testTrack.track.addCue(textCue))
EXPECTED (textCue.track == '[object TextTrack]') OK
EXPECTED (cues[1].startTime == '31') OK
EXPECTED (cues[2].startTime == '33') OK
EXPECTED (cues[3].startTime == '61') OK
*** create a new cue and add it to a track created with video.addTextTrack, make sure it is inserted correctly.
RUN(newTrack = video.addTextTrack("subtitles", "French subtitles", "fr"))
RUN(newTrack.addCue(new VTTCue(0.0, 1.0, "Test!")))
RUN(newCue = newTrack.cues[0])
EXPECTED (newCue.track == '[object TextTrack]') OK
EXPECTED (newCue.id == '') OK
EXPECTED (newCue.startTime == '0') OK
EXPECTED (newCue.endTime == '1') OK
EXPECTED (newCue.pauseOnExit == 'false') OK
EXPECTED (newCue.vertical == '') OK
EXPECTED (newCue.snapToLines == 'true') OK
EXPECTED (newCue.line == 'auto') OK
EXPECTED (newCue.position == '50') OK
EXPECTED (newCue.size == '100') OK
EXPECTED (newCue.align == 'middle') OK
*** Remove a cue created with addCue().
RUN(testTrack.track.removeCue(textCue))
EXPECTED (textCue.track == 'null') OK
EXPECTED (cues[1].startTime == '31') OK
EXPECTED (cues[2].startTime == '61') OK
*** Remove a cue added from the WebVTT file.
RUN(textCue = cues[2])
RUN(testTrack.track.removeCue(textCue))
EXPECTED (textCue.track == 'null') OK
EXPECTED (cues[1].startTime == '31') OK
EXPECTED (cues[2].startTime == '121') OK
*** Try to remove the cue again.
TEST(testTrack.track.removeCue(textCue)) THROWS(DOMException.NOT_FOUND_ERR: Failed to execute 'removeCue' on 'TextTrack': The specified cue is not listed in the TextTrack's list of cues.) OK
*** Add a cue before all the existing cues.
RUN(testTrack.track.addCue(new VTTCue(0, 31, 'I am first')))
EXPECTED (cues[0].startTime == '0') OK
EXPECTED (cues[0].endTime == '31') OK
EXPECTED (cues[1].startTime == '0') OK
EXPECTED (cues[1].endTime == '30.5') OK
EXPECTED (cues[2].startTime == '31') OK
END OF TEST