| OLD | NEW |
| 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../../resources/js-test.js"></script> | 4 <script src="../../resources/js-test.js"></script> |
| 5 </head> | 5 </head> |
| 6 <body> | 6 <body> |
| 7 <script> | 7 <script> |
| 8 description("Tests RTCPeerConnection createAnswer."); | 8 description("Tests RTCPeerConnection createAnswer."); |
| 9 | 9 |
| 10 var pc = null; | 10 var pc = null; |
| 11 | 11 |
| 12 function requestFailed3(reason) | 12 function unexpectedCallback() |
| 13 { | 13 { |
| 14 testFailed('createAnswer request failed.'); | 14 testFailed('unexpectedCallback was called') |
| 15 | |
| 16 finishJSTest(); | 15 finishJSTest(); |
| 17 } | 16 } |
| 18 | 17 |
| 19 function requestSucceeded3() | 18 function answerCreated() |
| 20 { | 19 { |
| 21 testPassed('createAnswer request succeeded.'); | 20 testPassed('createAnswer request succeeded.'); |
| 22 | |
| 23 finishJSTest(); | 21 finishJSTest(); |
| 24 } | 22 } |
| 25 | 23 |
| 26 function requestFailed2(reason) | 24 function descriptionSet() |
| 27 { | 25 { |
| 28 testFailed('setRemoteDescription request failed.'); | 26 testPassed('setRemoteDescription request succeeded.'); |
| 29 | 27 shouldNotThrow('pc.createAnswer(answerCreated, unexpectedCallback);'); |
| 30 finishJSTest(); | |
| 31 } | 28 } |
| 32 | 29 |
| 33 function requestSucceeded2() | 30 function createOfferWithoutDescriptionFailed() |
| 34 { | 31 { |
| 35 testPassed('setRemoteDescription request succeeded.'); | 32 testPassed('createOffer request without remote description failed.'); |
| 36 | 33 sessionDescription = new RTCSessionDescription({type:"answer", sdp:"remote"}
); |
| 37 shouldNotThrow('pc.createAnswer(requestSucceeded3, requestFailed3);'); | 34 shouldNotThrow('pc.setRemoteDescription(sessionDescription, descriptionSet,
unexpectedCallback);'); |
| 38 } | 35 } |
| 39 | 36 |
| 40 function requestFailed1() | 37 function testExecutionOrderClosedConnection() |
| 41 { | 38 { |
| 42 testPassed('createOffer request failed.'); | 39 var localPeerConnection = new webkitRTCPeerConnection(null, null); |
| 43 | 40 localPeerConnection.close(); |
| 44 sessionDescription = new RTCSessionDescription({type:"answer", sdp:"remote"}
); | 41 var counter = 0; |
| 45 shouldNotThrow('pc.setRemoteDescription(sessionDescription, requestSucceeded
2, requestFailed2);'); | 42 window.events = []; |
| 43 Promise.resolve().then(_ => window.events[counter++] = 1); |
| 44 localPeerConnection.createAnswer(unexpectedCallback, (reason) => { |
| 45 window.error = reason; |
| 46 shouldBe('error', '"The RTCPeerConnection\'s signalingState is \'closed\
'."'); |
| 47 window.events[counter++] = 2; |
| 48 }); |
| 49 Promise.resolve().then(_ => { |
| 50 window.events[counter++] = 3; |
| 51 shouldBe('events', '[1,2,3]'); |
| 52 }); |
| 46 } | 53 } |
| 47 | 54 |
| 48 function requestSucceeded1(sd) | 55 shouldNotThrow('testExecutionOrderClosedConnection()'); |
| 49 { | |
| 50 testFailed('createOffer request succeeded.'); | |
| 51 finishJSTest(); | |
| 52 } | |
| 53 | |
| 54 pc = new webkitRTCPeerConnection(null, null); | 56 pc = new webkitRTCPeerConnection(null, null); |
| 55 pc.createOffer(requestSucceeded1, requestFailed1); | 57 pc.createOffer(unexpectedCallback, createOfferWithoutDescriptionFailed); |
| 56 | 58 |
| 57 window.jsTestIsAsync = true; | 59 window.jsTestIsAsync = true; |
| 58 window.successfullyParsed = true; | 60 window.successfullyParsed = true; |
| 59 </script> | 61 </script> |
| 60 </body> | 62 </body> |
| 61 </html> | 63 </html> |
| OLD | NEW |