76 lines
2.1 KiB
JavaScript
76 lines
2.1 KiB
JavaScript
import Qunit from 'qunit';
|
|
import { addTextTrackData } from '../src/add-text-track-data';
|
|
|
|
const { equal, module, test } = Qunit;
|
|
|
|
class MockTextTrack {
|
|
constructor() {
|
|
this.cues = [];
|
|
}
|
|
addCue(cue) {
|
|
this.cues.push(cue);
|
|
}
|
|
}
|
|
|
|
module('Text Track Data', {
|
|
beforeEach() {
|
|
this.sourceHandler = {
|
|
inbandTextTracks_: {
|
|
CC1: new MockTextTrack(),
|
|
CC2: new MockTextTrack(),
|
|
CC3: new MockTextTrack(),
|
|
CC4: new MockTextTrack()
|
|
},
|
|
metadataTrack_: new MockTextTrack(),
|
|
mediaSource_: {
|
|
duration: NaN
|
|
},
|
|
timestampOffset: 0
|
|
};
|
|
}
|
|
});
|
|
|
|
test('does nothing if no cues are specified', function() {
|
|
addTextTrackData(this.sourceHandler, [], []);
|
|
equal(this.sourceHandler.inbandTextTracks_.CC1.cues.length, 0, 'added no 608 cues');
|
|
equal(this.sourceHandler.metadataTrack_.cues.length, 0, 'added no metadata cues');
|
|
});
|
|
|
|
test('creates cues for 608 captions with "stream" property in ccX', function() {
|
|
addTextTrackData(this.sourceHandler, [{
|
|
startTime: 0,
|
|
endTime: 1,
|
|
text: 'CC1 text',
|
|
stream: 'CC1'
|
|
}, {
|
|
startTime: 0,
|
|
endTime: 1,
|
|
text: 'CC2 text',
|
|
stream: 'CC2'
|
|
}, {
|
|
startTime: 0,
|
|
endTime: 1,
|
|
text: 'CC3 text',
|
|
stream: 'CC3'
|
|
}, {
|
|
startTime: 0,
|
|
endTime: 1,
|
|
text: 'CC4 text',
|
|
stream: 'CC4'
|
|
}], []);
|
|
equal(this.sourceHandler.inbandTextTracks_.CC1.cues.length, 1, 'added one 608 cue to CC1');
|
|
equal(this.sourceHandler.inbandTextTracks_.CC2.cues.length, 1, 'added one 608 cue to CC2');
|
|
equal(this.sourceHandler.inbandTextTracks_.CC3.cues.length, 1, 'added one 608 cue to CC3');
|
|
equal(this.sourceHandler.inbandTextTracks_.CC4.cues.length, 1, 'added one 608 cue to CC4');
|
|
equal(this.sourceHandler.metadataTrack_.cues.length, 0, 'added no metadata cues');
|
|
});
|
|
|
|
test('creates cues for timed metadata', function() {
|
|
addTextTrackData(this.sourceHandler, [], [{
|
|
cueTime: 1,
|
|
frames: [{}]
|
|
}]);
|
|
equal(this.sourceHandler.inbandTextTracks_.CC1.cues.length, 0, 'added no 608 cues');
|
|
equal(this.sourceHandler.metadataTrack_.cues.length, 1, 'added one metadata cues');
|
|
});
|