UNPKG

playable

Version:

Video player based on HTML5Video

83 lines 3.7 kB
"use strict"; 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