playback.test.js 1.8 KB

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