missing-fields.html (1759B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <title>RTCPeerconnection SDP parse tests</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="../RTCPeerConnection-helper.js"></script> 7 <script> 8 'use strict'; 9 10 function removeSdpLines(description, toRemove) { 11 const edited = description.sdp.split('\n').filter(function(line) { 12 return (!line.startsWith(toRemove)); 13 }).join('\n'); 14 return {type: description.type, sdp: edited}; 15 } 16 17 promise_test(async t => { 18 const caller = new RTCPeerConnection(); 19 const callee = new RTCPeerConnection(); 20 t.add_cleanup(() => caller.close()); 21 t.add_cleanup(() => callee.close()); 22 caller.addTrack(trackFactories.audio()); 23 const offer = await caller.createOffer(); 24 await caller.setLocalDescription(offer); 25 let remote_offer = removeSdpLines(offer, 'a=mid:'); 26 remote_offer = removeSdpLines(remote_offer, 'a=group:'); 27 await callee.setRemoteDescription(remote_offer); 28 const answer = await callee.createAnswer(); 29 await caller.setRemoteDescription(answer); 30 }, 'Offer description with no mid is accepted'); 31 32 promise_test(async t => { 33 const caller = new RTCPeerConnection(); 34 const callee = new RTCPeerConnection(); 35 t.add_cleanup(() => caller.close()); 36 t.add_cleanup(() => callee.close()); 37 caller.addTrack(trackFactories.audio()); 38 const offer = await caller.createOffer(); 39 await caller.setLocalDescription(offer); 40 await callee.setRemoteDescription(offer); 41 const answer = await callee.createAnswer(); 42 let remote_answer = removeSdpLines(answer, 'a=mid:'); 43 remote_answer = removeSdpLines(remote_answer, 'a=group:'); 44 await caller.setRemoteDescription(remote_answer); 45 }, 'Answer description with no mid is accepted'); 46 47 </script>