Skip to content

Commit 2e88e5e

Browse files
committed
Add more tests
1 parent a1b6a6e commit 2e88e5e

2 files changed

Lines changed: 66 additions & 1 deletion

File tree

test/specs/ReactPlayer.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,38 @@ describe('ReactPlayer', () => {
249249
})
250250
}
251251

252+
describe('playbackRate change', () => {
253+
it('updates correctly', () => {
254+
let player
255+
const updatePlayer = () => {
256+
render(
257+
<ReactPlayer
258+
url='http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4'
259+
playbackRate={0.5}
260+
onProgress={() => {
261+
const p = player.getInternalPlayer()
262+
if (p && p.playbackRate === 0.5) {
263+
updatePlayer()
264+
}
265+
}}
266+
/>,
267+
div)
268+
}
269+
render(
270+
<ReactPlayer
271+
ref={p => { player = p }}
272+
url='http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4'
273+
onProgress={() => {
274+
const p = player.getInternalPlayer()
275+
if (p && p.playbackRate === 1) {
276+
updatePlayer()
277+
}
278+
}}
279+
/>,
280+
div)
281+
})
282+
})
283+
252284
describe('instance methods', () => {
253285
let player
254286
beforeEach(done => {

test/specs/utils.js

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { parseStartTime, randomString, omit, getConfig } from '../../src/utils'
1+
import { parseStartTime, randomString, omit, getConfig, callPlayer } from '../../src/utils'
22

33
const { describe, it, expect } = window
44

@@ -143,3 +143,36 @@ describe('getConfig', () => {
143143
})
144144
})
145145
})
146+
147+
describe('callPlayer', () => {
148+
it('calls a player method', () => {
149+
const fakePlayer = {
150+
player: {
151+
testMethod: () => 'result'
152+
}
153+
}
154+
expect(callPlayer.call(fakePlayer, 'testMethod')).to.equal('result')
155+
})
156+
157+
it('returns null when player is not available', () => {
158+
const fakePlayer = {
159+
constructor: {
160+
displayName: 'TestPlayer'
161+
},
162+
player: null
163+
}
164+
expect(callPlayer.call(fakePlayer, 'testMethod')).to.equal(null)
165+
})
166+
167+
it('returns null when method is not available', () => {
168+
const fakePlayer = {
169+
constructor: {
170+
displayName: 'TestPlayer'
171+
},
172+
player: {
173+
testMethod: null
174+
}
175+
}
176+
expect(callPlayer.call(fakePlayer, 'testMethod')).to.equal(null)
177+
})
178+
})

0 commit comments

Comments
 (0)