| <!doctype html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Testing createOffer/createAnswer</title> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| |
| var pc1 = new RTCPeerConnection(); |
| var pc1Offer; |
| promise_test((test) => { |
| pc1.addTransceiver("video"); |
| |
| return pc1.createOffer().then((offer) => { |
| pc1Offer = offer; |
| assert_false(offer instanceof RTCSessionDescription); |
| }); |
| }, "Ensuring that offer is a RTCSessionDescriptionInit"); |
| |
| |
| promise_test((test) => { |
| var pc2 = new RTCPeerConnection(); |
| pc2.addTransceiver("video"); |
| |
| return pc2.setRemoteDescription(pc1Offer).then(() => { |
| return pc2.createAnswer(); |
| }).then((answer) => { |
| assert_false(pc1Offer instanceof RTCSessionDescription); |
| pc1Offer.sdp = ""; |
| answer.sdp = ""; |
| }); |
| }, "Ensuring that answer is a RTCSessionDescriptionInit"); |
| |
| promise_test((test) => { |
| var pc3 = new RTCPeerConnection(); |
| pc3.addTransceiver("video", {"direction": "recvonly"}); |
| |
| return pc3.createOffer().then((offer) => { |
| var lines = offer.sdp.split(/\r?\n/g); |
| var msidLine = ""; |
| for (var i = 0; i < lines.length; i++) { |
| if (lines[i].match("a=msid:")) { |
| msidLine = lines[i]; |
| break; |
| } |
| } |
| assert_true(msidLine === ""); |
| }); |
| }, "SDP offer for recvonly transceiver should not contain a msid attribute"); |
| </script> |
| </body> |
| </html> |