summaryrefslogtreecommitdiff
path: root/javascript/videojs/test/unit/player-play.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'javascript/videojs/test/unit/player-play.test.js')
-rw-r--r--javascript/videojs/test/unit/player-play.test.js139
1 files changed, 0 insertions, 139 deletions
diff --git a/javascript/videojs/test/unit/player-play.test.js b/javascript/videojs/test/unit/player-play.test.js
deleted file mode 100644
index 439e5df..0000000
--- a/javascript/videojs/test/unit/player-play.test.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/* eslint-env qunit */
-import sinon from 'sinon';
-import {silencePromise} from '../../src/js/utils/promise';
-import TestHelpers from './test-helpers';
-import * as browser from '../../src/js/utils/browser.js';
-
-QUnit.module('Player#play', {
-
- beforeEach() {
- this.clock = sinon.useFakeTimers();
- this.player = TestHelpers.makePlayer({});
- this.techPlayCallCount = 0;
- this.techCurrentTimeCallCount = 0;
- this.initTime = 0;
- this.player.tech_.play = () => {
- this.techPlayCallCount++;
- };
- this.player.tech_.setCurrentTime = (seconds) => {
- this.techCurrentTimeCallCount++;
- this.initTime = seconds;
- };
- },
-
- afterEach() {
- this.player.dispose();
- this.clock.restore();
- }
-});
-
-QUnit.test('tech not ready + no source = wait for ready, then loadstart', function(assert) {
-
- // Mock the player/tech not being ready.
- this.player.isReady_ = false;
-
- // Attempt to play.
- this.player.play();
- this.clock.tick(100);
- assert.strictEqual(this.techPlayCallCount, 0, 'tech_.play was not called because the tech was not ready');
-
- // Ready the player.
- this.player.triggerReady();
- this.clock.tick(100);
- assert.strictEqual(this.techPlayCallCount, 0, 'tech_.play was not called because there was no source');
-
- // Add a source and trigger loadstart.
- this.player.src('xyz.mp4');
- this.clock.tick(100);
- this.player.trigger('loadstart');
- assert.strictEqual(this.techPlayCallCount, 1, 'tech_.play was called');
-});
-
-QUnit.test('tech not ready + has source = wait for ready', function(assert) {
-
- // Mock the player/tech not being ready, but having a source.
- this.player.isReady_ = false;
- this.player.src('xyz.mp4');
- this.clock.tick(100);
-
- // Attempt to play.
- this.player.play();
- this.clock.tick(100);
- assert.strictEqual(this.techPlayCallCount, 0, 'tech_.play was not called because the tech was not ready');
-
- // Ready the player.
- this.player.triggerReady();
- this.clock.tick(100);
- assert.strictEqual(this.techPlayCallCount, 1, 'tech_.play was called');
-});
-
-QUnit.test('tech ready + no source = wait for loadstart', function(assert) {
-
- // Attempt to play.
- this.player.play();
- this.clock.tick(100);
- assert.strictEqual(this.techPlayCallCount, 0, 'tech_.play was not called because the tech was not ready');
-
- // Add a source and trigger loadstart.
- this.player.src('xyz.mp4');
- this.clock.tick(100);
- this.player.trigger('loadstart');
- assert.strictEqual(this.techPlayCallCount, 1, 'tech_.play was called');
-});
-
-QUnit.test('tech ready + has source = play immediately!', function(assert) {
-
- // Mock the player having a source.
- this.player.src('xyz.mp4');
- this.clock.tick(100);
-
- // Attempt to play, but silence the promise that might be returned.
- silencePromise(this.player.play());
- assert.strictEqual(this.techPlayCallCount, 1, 'tech_.play was called');
-});
-
-QUnit.test('tech ready + has source + changing source = wait for loadstart', function(assert) {
-
- // Mock the player having a source and in the process of changing its source.
- this.player.src('xyz.mp4');
- this.clock.tick(100);
- this.player.src('abc.mp4');
- this.player.play();
- this.clock.tick(100);
- assert.strictEqual(this.techPlayCallCount, 0, 'tech_.play was not called because the source was changing');
-
- this.player.trigger('loadstart');
- assert.strictEqual(this.techPlayCallCount, 1, 'tech_.play was called');
-});
-
-QUnit.test('play call from native replay calls resetProgressBar_', function(assert) {
- const origSafari = browser.IS_ANY_SAFARI;
- const origIOS = browser.IS_IOS;
-
- browser.stub_IS_ANY_SAFARI(true);
-
- // Mock the player having a source.
- this.player.src('xyz.mp4');
- this.clock.tick(100);
-
- // Attempt to play, but silence the promise that might be returned.
- silencePromise(this.player.play());
- assert.strictEqual(this.techPlayCallCount, 1, 'tech_.play was called');
-
- // add vjs-ended for replay logic and play again.
- this.player.addClass('vjs-ended');
-
- silencePromise(this.player.play());
- assert.strictEqual(this.techPlayCallCount, 2, 'tech_.play was called');
- assert.strictEqual(this.techCurrentTimeCallCount, 1, 'tech_.currentTime was called');
-
- // Reset safari stub and try replay in iOS.
- browser.stub_IS_ANY_SAFARI(origSafari);
- browser.stub_IS_IOS(true);
-
- silencePromise(this.player.play());
- assert.strictEqual(this.techPlayCallCount, 3, 'tech_.play was called');
- assert.strictEqual(this.techCurrentTimeCallCount, 2, 'tech_.currentTime was called');
-
- browser.stub_IS_IOS(origIOS);
-});