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