1 | import QUnit from 'qunit';
|
2 | import videojs from 'video.js';
|
3 |
|
4 | import { Hls } from '../src/videojs-contrib-hls';
|
5 |
|
6 | let when = function(element, type, cb, condition) {
|
7 | element.on(type, function func() {
|
8 | if (condition()) {
|
9 | element.off(type, func);
|
10 | cb();
|
11 | }
|
12 | });
|
13 | };
|
14 |
|
15 | let playFor = function(player, time, cb) {
|
16 | let targetTime = player.currentTime() + time;
|
17 |
|
18 | when(player, 'timeupdate', cb, () => player.currentTime() >= targetTime);
|
19 | };
|
20 |
|
21 | QUnit.module('Playback', {
|
22 | beforeEach(assert) {
|
23 | let done = assert.async();
|
24 | let video = document.createElement('video');
|
25 |
|
26 | video.width = 600;
|
27 | video.height = 300;
|
28 | document.querySelector('#qunit-fixture').appendChild(video);
|
29 | this.player = videojs(video);
|
30 | this.player.ready(done);
|
31 | }
|
32 | });
|
33 |
|
34 | QUnit.test('Advanced Bip Bop', function(assert) {
|
35 | let done = assert.async();
|
36 |
|
37 | assert.expect(2);
|
38 | let player = this.player;
|
39 |
|
40 | player.autoplay(true);
|
41 |
|
42 | playFor(player, 2, function() {
|
43 | assert.ok(true, 'played for at least two seconds');
|
44 | assert.equal(player.error(), null, 'has no player errors');
|
45 |
|
46 | done();
|
47 | });
|
48 |
|
49 | player.src({
|
50 | src: 'http://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8',
|
51 | type: 'application/x-mpegURL'
|
52 | });
|
53 | });
|
54 |
|
55 | QUnit.test('Advanced Bip Bop preload=none', function(assert) {
|
56 | let done = assert.async();
|
57 |
|
58 | assert.expect(2);
|
59 | let player = this.player;
|
60 |
|
61 | player.autoplay(true);
|
62 | player.preload('none');
|
63 |
|
64 | playFor(player, 2, function() {
|
65 | assert.ok(true, 'played for at least two seconds');
|
66 | assert.equal(player.error(), null, 'has no player errors');
|
67 |
|
68 | done();
|
69 | });
|
70 |
|
71 | player.src({
|
72 | src: 'http://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8',
|
73 | type: 'application/x-mpegURL'
|
74 | });
|
75 | });
|
76 |
|