UNPKG

shaka-player

Version:
74 lines (57 loc) 2.04 kB
/*! @license * Shaka Player * Copyright 2016 Google LLC * SPDX-License-Identifier: Apache-2.0 */ describe('DashParser', () => { const Util = shaka.test.Util; /** @type {!jasmine.Spy} */ let onErrorSpy; /** @type {!HTMLVideoElement} */ let video; /** @type {shaka.Player} */ let player; /** @type {!shaka.util.EventManager} */ let eventManager; let compiledShaka; /** @type {!shaka.test.Waiter} */ let waiter; beforeAll(async () => { video = shaka.test.UiUtils.createVideoElement(); document.body.appendChild(video); compiledShaka = await shaka.test.Loader.loadShaka(getClientArg('uncompiled')); }); beforeEach(async () => { await shaka.test.TestScheme.createManifests(compiledShaka, '_compiled'); player = new compiledShaka.Player(video); // Disable stall detection, which can interfere with playback tests. player.configure('streaming.stallEnabled', false); // Grab event manager from the uncompiled library: eventManager = new shaka.util.EventManager(); waiter = new shaka.test.Waiter(eventManager); waiter.setPlayer(player); onErrorSpy = jasmine.createSpy('onError'); onErrorSpy.and.callFake((event) => fail(event.detail)); eventManager.listen(player, 'error', Util.spyFunc(onErrorSpy)); }); afterEach(async () => { eventManager.release(); await player.destroy(); }); afterAll(() => { document.body.removeChild(video); }); it('supports AES-128 streaming', async () => { await player.load('/base/test/test/assets/dash-aes-128/dash.mpd'); await video.play(); expect(player.isLive()).toBe(false); // Wait for the video to start playback. If it takes longer than 10 // seconds, fail the test. await waiter.waitForMovementOrFailOnTimeout(video, 10); // Play for 10 seconds, but stop early if the video ends. If it takes // longer than 30 seconds, fail the test. await waiter.waitUntilPlayheadReachesOrFailOnTimeout(video, 10, 30); await player.unload(); }); });