33 lines
1.6 KiB
Plaintext
33 lines
1.6 KiB
Plaintext
Test basic behavior of RTCRtpSender.replaceTrack()
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
PASS pc.getSenders().length is 0
|
|
PASS sender = pc.addTrack(audioTrack, stream) did not throw exception.
|
|
PASS sender is an instance of RTCRtpSender
|
|
PASS sender.track is audioTrack
|
|
PASS promise sender.replaceTrack() rejected with TypeError: Not enough arguments
|
|
PASS promise sender.replaceTrack(null) rejected with TypeError: Argument 1 ('withTrack') to RTCRtpSender.replaceTrack must be an instance of MediaStreamTrack
|
|
PASS promise sender.replaceTrack({}) rejected with TypeError: Argument 1 ('withTrack') to RTCRtpSender.replaceTrack must be an instance of MediaStreamTrack
|
|
Test mismatching track kind
|
|
PASS promise sender.replaceTrack(videoTrack) rejected with TypeError: Type error
|
|
PASS promise sender.replaceTrack(audioTrack2) fulfilled with undefined
|
|
PASS Track successfully replaced
|
|
PASS sender.track is audioTrack2
|
|
Sender should still use old track (audioTrack) id in negotiation.
|
|
PASS offer created
|
|
PASS offer.sdp.indexOf(audioTrack.id) is not -1
|
|
PASS offer.sdp.indexOf(audioTrack2.id) is -1
|
|
Stop sender, and try replacing the track
|
|
PASS promise sender.replaceTrack(audioTrack2) rejected with InvalidStateError (DOM Exception 11): The object is in an invalid state.
|
|
Create a new sender
|
|
PASS sender = pc.addTrack(audioTrack2, stream) did not throw exception.
|
|
Close pc and try replacing the track
|
|
PASS promise sender.replaceTrack(audioTrack3) rejected with InvalidStateError (DOM Exception 11): The object is in an invalid state.
|
|
End of promise chain
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|