playable
Version:
Video player based on HTML5Video
83 lines • 3.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var video_data_1 = require("./video-data");
function getValidBuffer(seq) {
return {
start: function (i) { return seq[i][0]; },
end: function (i) { return seq[i][1]; },
length: seq.length,
};
}
describe('getNearestBufferSegmentInfo', function () {
it('should return null if invalid buffer provided', function () {
var buffer = null;
(0, chai_1.expect)((0, video_data_1.getNearestBufferSegmentInfo)(buffer)).to.be.equal(null);
});
it('should return proper size of buffer', function () {
var buffer = getValidBuffer([
[2, 10],
[30, 40],
]);
(0, chai_1.expect)((0, video_data_1.getNearestBufferSegmentInfo)(buffer, 3)).to.be.deep.equal({
start: 2,
end: 10,
});
(0, chai_1.expect)((0, video_data_1.getNearestBufferSegmentInfo)(buffer, 35)).to.be.deep.equal({
start: 30,
end: 40,
});
});
});
describe('geOverallBufferLength', function () {
it('should return 0 if invalid buffer provided', function () {
var buffer = null;
(0, chai_1.expect)((0, video_data_1.geOverallBufferLength)(buffer)).to.be.equal(0);
});
it('should return proper size of buffer', function () {
var buffer = getValidBuffer([[0, 10]]);
(0, chai_1.expect)((0, video_data_1.geOverallBufferLength)(buffer)).to.be.equal(10);
});
});
describe('getOverallBufferedPercent', function () {
it('should return 0 if invalid buffer provided', function () {
var buffer = null;
(0, chai_1.expect)((0, video_data_1.getOverallBufferedPercent)(buffer)).to.be.equal(0);
});
it('should return 0 if invalid duration is 0', function () {
var buffer = getValidBuffer([[0, 1]]);
(0, chai_1.expect)((0, video_data_1.getOverallBufferedPercent)(buffer, 0, 0)).to.be.equal(0);
});
it('should return calculated percent', function () {
var buffer = getValidBuffer([
[0, 1],
[2, 5],
]);
var currentTime1 = 0;
var currentTime2 = 3;
var duration1 = 5;
var duration2 = 7;
(0, chai_1.expect)((0, video_data_1.getOverallBufferedPercent)(buffer, currentTime1, duration1)).to.be.equal(20);
(0, chai_1.expect)((0, video_data_1.getOverallBufferedPercent)(buffer, currentTime1, duration2)).to.be.equal(14.29);
(0, chai_1.expect)((0, video_data_1.getOverallBufferedPercent)(buffer, currentTime2, duration1)).to.be.equal(100);
(0, chai_1.expect)((0, video_data_1.getOverallBufferedPercent)(buffer, currentTime2, duration2)).to.be.equal(71.43);
});
});
describe('getOverallPlayedPercent', function () {
it('should return 0 if no duration provided', function () {
var currentTime = 10;
var duration = 0;
(0, chai_1.expect)((0, video_data_1.getOverallPlayedPercent)()).to.be.equal(0);
(0, chai_1.expect)((0, video_data_1.getOverallPlayedPercent)(currentTime)).to.be.equal(0);
(0, chai_1.expect)((0, video_data_1.getOverallPlayedPercent)(currentTime, duration)).to.be.equal(0);
});
it('should return calculated percent', function () {
var currentTime1 = 10;
var currentTime2 = 90;
var duration1 = 20;
var duration2 = 90;
(0, chai_1.expect)((0, video_data_1.getOverallPlayedPercent)(currentTime1, duration1)).to.be.equal(50);
(0, chai_1.expect)((0, video_data_1.getOverallPlayedPercent)(currentTime2, duration2)).to.be.equal(100);
});
});
//# sourceMappingURL=video-data.spec.js.map