blob: c6ac5d6dbf0894d42f276d3016b3156c28347448 [file] [log] [blame]
Tests DataCue interface
*** Test DataCue's TextTrackCue interface.
EXPECTED (cue instanceof '[object TextTrackCueConstructor]') OK
EXPECTED (cue.track == 'null') OK
EXPECTED (cue.id == '') OK
EXPECTED (cue.startTime == '3') OK
EXPECTED (cue.endTime == '10') OK
EXPECTED (cue.pauseOnExit == 'false') OK
*** Test DataCue interface.
EXPECTED (cue instanceof '[object DataCueConstructor]') OK
EXPECTED (new Uint8Array(cue.data).length == '5') OK
EXPECTED (new Uint8Array(cue.data)[0] == '4') OK
EXPECTED (new Uint8Array(cue.data)[1] == '5') OK
EXPECTED (new Uint8Array(cue.data)[2] == '2') OK
EXPECTED (new Uint8Array(cue.data)[3] == '1') OK
EXPECTED (new Uint8Array(cue.data)[4] == '9') OK
*** Changing the original buffer data should not effect DataCue.data.
RUN(expectedData[0] = 7)
EXPECTED (new Uint8Array(cue.data)[0] == '4') OK
RUN(cue.data = expectedData.buffer)
EXPECTED (new Uint8Array(cue.data)[0] == '7') OK
RUN(expectedData[0] = 11)
EXPECTED (new Uint8Array(cue.data)[0] == '7') OK
RUN(new Uint8Array(cue.data)[0] = 8)
EXPECTED ((new Uint8Array(cue.data))[0] == '7') OK
*** Throw exception if data is not an ArrayBuffer.
TEST(cue.data = null) THROWS('TypeError: Type error') OK
TEST(cue.data = 'test') THROWS('TypeError: Type error') OK
TEST(cue.data = [5]) THROWS('TypeError: Type error') OK
TEST(badCue = new DataCue(1, 2, null)) THROWS('TypeError: Type error') OK
TEST(badCue = new DataCue(1, 2, 'test')) THROWS('TypeError: Type error') OK
TEST(badCue = new DataCue(1, 2, [5])) THROWS('TypeError: Type error') OK
*** Test adding DataCue to track with kind = 'metadata'.
EXPECTED (cue.track == '[object TextTrack]') OK
EXPECTED (metadataTrack.cues[0] == '[object DataCue]') OK
*** Test adding DataCue to track with kind != 'metadata'.
TEST(track.addCue(cue)) THROWS(DOMException.INVALID_NODE_TYPE_ERR) OK
EXPECTED (track.cues.length == '0') OK
TEST(track.addCue(cue)) THROWS(DOMException.INVALID_NODE_TYPE_ERR) OK
EXPECTED (track.cues.length == '0') OK
TEST(track.addCue(cue)) THROWS(DOMException.INVALID_NODE_TYPE_ERR) OK
EXPECTED (track.cues.length == '0') OK
TEST(track.addCue(cue)) THROWS(DOMException.INVALID_NODE_TYPE_ERR) OK
EXPECTED (track.cues.length == '0') OK
END OF TEST