1
0
Fork 0
mirror of https://github.com/DanielnetoDotCom/YouPHPTube synced 2025-10-06 03:50:04 +02:00
Oinktube/node_modules/videojs-contrib-ads/test/unit/states/test.ContentPlayback.js
2022-05-20 16:22:54 -03:00

62 lines
1.9 KiB
JavaScript

import QUnit from 'qunit';
import ContentPlayback from '../../../src/states/ContentPlayback.js';
/*
* These tests are intended to be isolated unit tests for one state with all
* other modules mocked.
*/
QUnit.module('ContentPlayback', {
beforeEach() {
this.events = [];
this.playTriggered = false;
this.player = {
paused: () => false,
play: () => {},
trigger: (event) => {
this.events.push(event);
},
ads: {
debug: () => {},
_shouldBlockPlay: true
}
};
this.contentPlayback = new ContentPlayback(this.player);
this.contentPlayback.transitionTo = (newState) => {
this.newState = newState.name;
};
}
});
QUnit.test('adsready triggers readyforpreroll', function(assert) {
this.contentPlayback.init(this.player);
this.contentPlayback.onAdsReady(this.player);
assert.equal(this.events[0], 'readyforpreroll');
});
QUnit.test('no readyforpreroll if nopreroll_', function(assert) {
this.player.ads.nopreroll_ = true;
this.contentPlayback.init(this.player);
this.contentPlayback.onAdsReady(this.player);
assert.equal(this.events.length, 0, 'no events triggered');
});
QUnit.test('transitions to Postroll on readyforpostroll', function(assert) {
this.contentPlayback.init(this.player, false);
this.contentPlayback.onReadyForPostroll(this.player);
assert.equal(this.newState, 'Postroll', 'transitioned to Postroll');
});
QUnit.test('transitions to Midroll on startlinearadmode', function(assert) {
this.contentPlayback.init(this.player, false);
this.contentPlayback.startLinearAdMode();
assert.equal(this.newState, 'Midroll', 'transitioned to Midroll');
});
QUnit.test('sets _shouldBlockPlay to false on init', function(assert) {
assert.equal(this.player.ads._shouldBlockPlay, true);
this.contentPlayback.init(this.player);
assert.equal(this.player.ads._shouldBlockPlay, false);
});