diff --git a/src/lib/viewers/media/MediaControls.js b/src/lib/viewers/media/MediaControls.js index 72cda7dcf..1ac15006c 100644 --- a/src/lib/viewers/media/MediaControls.js +++ b/src/lib/viewers/media/MediaControls.js @@ -843,7 +843,7 @@ class MediaControls extends EventEmitter { * @return {void} */ filmstripHideHandler() { - if (!this.isScrubbing) { + if (!this.isScrubbing && this.filmstripEl) { this.filmstripContainerEl.style.display = 'none'; } } diff --git a/src/lib/viewers/media/__tests__/MediaControls-test.js b/src/lib/viewers/media/__tests__/MediaControls-test.js index 47ed034d7..95d3183e3 100644 --- a/src/lib/viewers/media/__tests__/MediaControls-test.js +++ b/src/lib/viewers/media/__tests__/MediaControls-test.js @@ -644,13 +644,21 @@ describe('lib/viewers/media/MediaControls', () => { expect(stubs.show).to.be.called; }); - it('should remove the show controls class and hide the filmstrip if the wrapper element and parent exist', () => { + it('should remove the show controls class if the wrapper element and parent exist', () => { mediaControls.preventHiding = false; stubs.isSettingsVisible.returns(false); mediaControls.hide(); expect(stubs.show).to.not.be.called; expect(mediaControls.wrapperEl.parentNode.classList.contains('bp-media-controls-is-visible')).to.be.false; + }); + + it('should hide the filmstrip', () => { + mediaControls.preventHiding = false; + stubs.isSettingsVisible.returns(false); + mediaControls.filmstripEl = document.createElement('div'); + + mediaControls.hide(); expect(stubs.filmstripHideHandler).to.be.called; }); }); @@ -995,6 +1003,14 @@ describe('lib/viewers/media/MediaControls', () => { mediaControls.filmstripHideHandler(); expect(mediaControls.filmstripContainerEl.style.display).to.equal(''); }); + + it('should do nothing if there is no filmstrip', () => { + mediaControls.isScrubbing = false; + mediaControls.filmstripEl = null; + + mediaControls.filmstripHideHandler(); + expect(mediaControls.filmstripContainerEl.style.display).to.equal(''); + }); }); describe('initSubtitles()', () => {