blob: 1b75679ba8bd4019b1ce6663a6452860de840859 [file] [log] [blame]
Test RTCPeerConnection.setRemoteDescription called with an RTCSessionDescription of type 'offer'
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
*** Create (remote) offer with audio (remoteOffer1)
*** Done, start testing with remoteOffer1
PASS pc.signalingState is 'stable'
PASS pc.remoteDescription is null
PASS pc.pendingRemoteDescription is null
PASS pc.currentRemoteDescription is null
*** 'track' event must fire before setRemoteDescription promise is fulfilled
*** Check track event properties
PASS pc.getReceivers().includes(trackEvent.receiver) is true
PASS pc.getTransceivers().includes(trackEvent.transceiver) is true
*** Remote track should be muted initially
PASS trackEvent.track.muted is true
*** Remote track properties should match track added at remote side (remotePc)
PASS trackEvent.track.kind is remotePcAudioTrack.kind
PASS trackEvent.track.id is remotePcAudioTrack.id
PASS trackEvent.track.label is 'remote audio'
*** Check local and remote transceivers
PASS trackEvent.transceiver.mid is remotePcAudioTransceiver.mid
PASS remoteOffer1 set as remote description
PASS pc.signalingState is 'have-remote-offer'
PASS pc.remoteDescription is remoteOffer1
PASS pc.pendingRemoteDescription is remoteOffer1
PASS pc.currentRemoteDescription is null
PASS remoteOffer1 set as remote description (again)
PASS pc.signalingState is 'have-remote-offer'
*** Try setting local descriptions with bad types for the current state
PASS promise pc.setRemoteDescription({type:'answer', sdp:remoteOffer1.sdp}); rejected with InvalidStateError (DOM Exception 11): Description type incompatible with current signaling state
PASS promise pc.setRemoteDescription({type:'pranswer', sdp:remoteOffer1.sdp}); rejected with InvalidStateError (DOM Exception 11): Description type incompatible with current signaling state
*** Create (remote) offer with video (remoteOffer2)
*** Done, start testing with remoteOffer2
PASS pc.signalingState is 'have-remote-offer'
*** 'track' event must fire before setRemoteDescription promise is fulfilled
*** Check track event properties
PASS pc.getReceivers().includes(trackEvent.receiver) is true
PASS pc.getTransceivers().includes(trackEvent.transceiver) is true
*** Remote track should be muted initially
PASS trackEvent.track.muted is true
*** Remote track properties should match track added at remote side (remotePc)
PASS trackEvent.track.kind is remotePcVideoTrack.kind
PASS trackEvent.track.id is remotePcVideoTrack.id
PASS trackEvent.track.label is 'remote video'
*** Check local and remote transceivers
PASS trackEvent.transceiver.mid is remotePcVideoTransceiver.mid
PASS remoteOffer2 set as remote description
PASS pc.signalingState is 'have-remote-offer'
PASS pc.remoteDescription is remoteOffer2
PASS pc.pendingRemoteDescription is remoteOffer2
PASS pc.currentRemoteDescription is null
PASS successfullyParsed is true
TEST COMPLETE