mirror of
https://gitea.invidious.io/iv-org/videojs-vtt-thumbnails.git
synced 2024-08-15 00:43:16 +00:00
58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
import document from 'global/document';
|
|
|
|
import QUnit from 'qunit';
|
|
import sinon from 'sinon';
|
|
import videojs from 'video.js';
|
|
|
|
import plugin from '../src/plugin';
|
|
|
|
const Player = videojs.getComponent('Player');
|
|
|
|
QUnit.test('the environment is sane', function(assert) {
|
|
assert.strictEqual(typeof Array.isArray, 'function', 'es5 exists');
|
|
assert.strictEqual(typeof sinon, 'object', 'sinon exists');
|
|
assert.strictEqual(typeof videojs, 'function', 'videojs exists');
|
|
assert.strictEqual(typeof plugin, 'function', 'plugin is a function');
|
|
});
|
|
|
|
QUnit.module('videojs-vtt-thumbnails', {
|
|
|
|
beforeEach() {
|
|
|
|
// Mock the environment's timers because certain things - particularly
|
|
// player readiness - are asynchronous in video.js 5. This MUST come
|
|
// before any player is created; otherwise, timers could get created
|
|
// with the actual timer methods!
|
|
this.clock = sinon.useFakeTimers();
|
|
|
|
this.fixture = document.getElementById('qunit-fixture');
|
|
this.video = document.createElement('video');
|
|
this.fixture.appendChild(this.video);
|
|
this.player = videojs(this.video);
|
|
},
|
|
|
|
afterEach() {
|
|
this.player.dispose();
|
|
this.clock.restore();
|
|
}
|
|
});
|
|
|
|
QUnit.test('registers itself with video.js', function(assert) {
|
|
assert.expect(2);
|
|
|
|
assert.strictEqual(
|
|
typeof Player.prototype.vttThumbnails,
|
|
'function',
|
|
'videojs-vtt-thumbnails plugin was registered'
|
|
);
|
|
|
|
this.player.vttThumbnails();
|
|
|
|
// Tick the clock forward enough to trigger the player to be "ready".
|
|
this.clock.tick(2);
|
|
|
|
assert.ok(
|
|
this.player.hasClass('vjs-vtt-thumbnails'),
|
|
'the plugin adds a class to the player'
|
|
);
|
|
});
|