it('has getters that return values after setup, before ready', function() { const container = createContainer('player'); const api = new Api(container); api.setup({}); expect(api.qoe(), '.qoe()').to.have.keys(['setupTime', 'firstFrame', 'player', 'item']); expect(api.getEnvironment(), '.getEnvironment()').to.have.keys(['Browser', 'OS', 'Features']); expect(api.getContainer(), '.getContainer()').to.equal(container, 'returns the player DOM element before setup'); expect(api.getConfig(), '.getConfig()').to.not.be.empty; expect(api.getAudioTracks(), '.getAudioTracks()').to.equal(null); expect(api.getCaptionsList(), '.getCaptionsList()').to.equal(null); expect(api.getQualityLevels(), '.getQualityLevels()').to.equal(null); expect(api.getVisualQuality(), '.getVisualQuality()').to.equal(null); expect(api.getCurrentAudioTrack(), '.getCurrentAudioTrack()').to.equal(-1); expect(api.getCurrentQuality(), '.getCurrentQuality()').to.equal(-1); expect(api.isBeforePlay(), '.isBeforePlay()').to.be.false; expect(api.isBeforeComplete(), '.isBeforeComplete()').to.be.false; expect(api.getSafeRegion(), '.getSafeRegion()').to.eql({ x: 0, y: 0, width: 0, height: 0 }); expect(api.getBuffer(), '.getBuffer()').to.equal(0); expect(api.getDuration(), '.getDuration()').to.equal(0); expect(api.getCaptions(), '.getCaptions()').to.equal(undefined); expect(api.getControls(), '.getControls()').to.equal(true); expect(api.getCurrentCaptions(), '.getCurrentCaptions()').to.equal(undefined); expect(api.getFullscreen(), '.getFullscreen()').to.equal(undefined); expect(api.getHeight(), '.getHeight()').to.equal(undefined); expect(api.getWidth(), '.getWidth()').to.equal(undefined); expect(api.getItemMeta(), '.getItemMeta()').to.eql({}); expect(api.getMute(), '.getMute()').to.be.a('boolean'); expect(api.getVolume(), '.getVolume()').to.be.a('number'); expect(api.getPlaybackRate(), '.getPlaybackRate()').to.equal(1); expect(api.getPlaylist(), '.getPlaylist()').to.be.an('array'); expect(api.getPlaylistIndex(), '.getPlaylistIndex()').to.equal(0); expect(api.getPlaylistItem(), '.getPlaylistItem()').to.equal(undefined, 'getPlaylistItem() returns undefined'); expect(api.getPlaylistItem(0)).to.be.an('object', 'getPlaylistItem(0) returns an object'); expect(api.getPosition(), '.getPosition()').to.equal(0); expect(api.getProvider(), '.getProvider()').to.equal(undefined); expect(api.getState(), '.getState()').to.equal('idle'); expect(api.getStretching(), '.getStretching()').to.equal('uniform'); expect(api.getViewable(), '.getViewable()').to.equal(undefined); });
it('has getters that return values before setup', function() { const container = createContainer('player'); const api = new Api(container); expect(api.qoe(), '.qoe()').to.have.keys(['setupTime', 'firstFrame', 'player', 'item']); expect(api.getEnvironment(), '.getEnvironment()').to.have.keys(['Browser', 'OS', 'Features']); expect(api.getContainer(), '.getContainer()').to.equal(container, 'returns the player DOM element before setup'); expect(api.getConfig(), '.getConfig()').to.eql({}); expect(api.getAudioTracks(), '.getAudioTracks()').to.equal(null); expect(api.getCaptionsList(), '.getCaptionsList()').to.equal(null); expect(api.getQualityLevels(), '.getQualityLevels()').to.equal(null); expect(api.getVisualQuality(), '.getVisualQuality()').to.equal(null); expect(api.getCurrentAudioTrack(), '.getCurrentAudioTrack()').to.equal(-1); expect(api.getCurrentQuality(), '.getCurrentQuality()').to.equal(-1); expect(api.isBeforePlay(), '.isBeforePlay()').to.be.false; expect(api.isBeforeComplete(), '.isBeforeComplete()').to.be.false; expect(api.getSafeRegion(), '.getSafeRegion()').to.eql({ x: 0, y: 0, width: 0, height: 0 }); expect(api.getBuffer(), '.getBuffer()').to.equal(undefined); expect(api.getDuration(), '.getDuration()').to.equal(undefined); expect(api.getCaptions(), '.getCaptions()').to.equal(undefined); expect(api.getControls(), '.getControls()').to.equal(undefined); expect(api.getCurrentCaptions(), '.getCurrentCaptions()').to.equal(undefined); expect(api.getFullscreen(), '.getFullscreen()').to.equal(undefined); expect(api.getHeight(), '.getHeight()').to.equal(undefined); expect(api.getWidth(), '.getWidth()').to.equal(undefined); expect(api.getItemMeta(), '.getItemMeta()').to.eql({}); expect(api.getMute(), '.getMute()').to.equal(undefined); expect(api.getVolume(), '.getVolume()').to.equal(undefined); expect(api.getPlaybackRate(), '.getPlaybackRate()').to.equal(undefined); expect(api.getPlaylist(), '.getPlaylist()').to.equal(undefined); expect(api.getPlaylistIndex(), '.getPlaylistIndex()').to.equal(undefined); expect(api.getPlaylistItem(), '.getPlaylistItem()').to.equal(undefined, 'getPlaylistItem() returns undefined'); expect(api.getPlaylistItem(0)).to.equal(null, 'getPlaylistItem(0) returns null'); expect(api.getPosition(), '.getPosition()').to.equal(undefined); expect(api.getProvider(), '.getProvider()').to.equal(undefined); expect(api.getState(), '.getState()').to.equal(undefined); expect(api.getStretching(), '.getStretching()').to.equal(undefined); expect(api.getViewable(), '.getViewable()').to.equal(undefined); expect(api.registerPlugin('foobar')).to.equal(undefined, 'registerPlugin returns undefined'); });