blob: f0350e9d999cf93219a976078c0e532076620d27 [file] [log] [blame]
Tests DataCue interface
*** Test DataCue's TextTrackCue interface.
EXPECTED (cue instanceof 'function TextTrackCue() { [native code] }') 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 'function DataCue() { [native code] }') 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: The DataCue.data attribute must be an instance of ArrayBuffer') OK
TEST(cue.data = 'test') THROWS('TypeError: The DataCue.data attribute must be an instance of ArrayBuffer') OK
TEST(cue.data = [5]) THROWS('TypeError: The DataCue.data attribute must be an instance of ArrayBuffer') OK
*** Constructor with value argument.
EXPECTED (new DataCue(1, 2, null).value === 'null') OK
EXPECTED (new DataCue(1, 2, 'test').value === 'test') OK
EXPECTED (new DataCue(1, 2, [5]).value.length == '1') OK
EXPECTED (new DataCue(1, 2, [5]).value[0] == '5') 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