Calling removeTrack on different RTCPeerConnection should throw InvalidAccessError
[WebKit-https.git] / LayoutTests / fast / mediastream / RTCPeerConnection-add-removeTrack-expected.txt
1 Test basic behavior of RTCPeerConnection.add/removeTrack()
2
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6 Test bad addTrack() arguments
7 PASS pc.addTrack() threw exception TypeError: Not enough arguments.
8 PASS pc.addTrack(null) threw exception TypeError: Argument 1 ('track') to RTCPeerConnection.addTrack must be an instance of MediaStreamTrack.
9 PASS pc.addTrack({}) threw exception TypeError: Argument 1 ('track') to RTCPeerConnection.addTrack must be an instance of MediaStreamTrack.
10 PASS pc.addTrack(track, null) threw exception TypeError: Type error.
11 PASS pc.addTrack(track, {}) threw exception TypeError: Type error.
12 PASS pc.addTrack(track, stream, null) threw exception TypeError: Type error.
13
14 Test bad removeTrack() arguments
15 PASS pc.removeTrack() threw exception TypeError: Not enough arguments.
16 PASS pc.removeTrack(null) threw exception TypeError: Argument 1 ('sender') to RTCPeerConnection.removeTrack must be an instance of RTCRtpSender.
17 PASS pc.removeTrack({}) threw exception TypeError: Argument 1 ('sender') to RTCPeerConnection.removeTrack must be an instance of RTCRtpSender.
18
19 PASS pc.getSenders().length is 0
20 PASS sender = pc.addTrack(track, stream) did not throw exception.
21 PASS sender is an instance of RTCRtpSender
22 PASS sender.track is track
23 PASS pc.getSenders().length is 1
24 PASS pc.getSenders()[0] is sender
25 PASS pc.getReceivers().length is 1
26 PASS receiver.track is an instance of MediaStreamTrack
27 PASS receiver.track.muted is true
28 PASS receiver.track.kind is sender.track.kind
29 PASS pc.getTransceivers().length is 1
30 PASS transceiver.mid is null
31 PASS transceiver.sender is sender
32 PASS transceiver.receiver is receiver
33 PASS transceiver.stopped is false
34 Try to add same track again
35 PASS sender = pc.addTrack(track, stream) threw exception InvalidAccessError: The object does not support the operation or argument..
36 PASS sender2 = pc.addTrack(track2, stream, stream2) did not throw exception.
37 PASS pc.getSenders().length is 2
38 PASS pc.getSenders()[0] is sender
39 PASS pc.getSenders()[1] is sender2
40 PASS pc.removeTrack(sender) did not throw exception.
41 Sender is still in getSenders() list
42 PASS pc.getSenders().length is 2
43 PASS pc.addTrack(null); threw exception TypeError: Argument 1 ('track') to RTCPeerConnection.addTrack must be an instance of MediaStreamTrack.
44 PASS pc.addTrack(undefined); threw exception TypeError: Argument 1 ('track') to RTCPeerConnection.addTrack must be an instance of MediaStreamTrack.
45 PASS pc.removeTrack(null); threw exception TypeError: Argument 1 ('sender') to RTCPeerConnection.removeTrack must be an instance of RTCRtpSender.
46 PASS pc.removeTrack(undefined); threw exception TypeError: Argument 1 ('sender') to RTCPeerConnection.removeTrack must be an instance of RTCRtpSender.
47 PASS successfullyParsed is true
48
49 TEST COMPLETE
50