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 the RTCPeerConnection Ice functionality."); | 8 description("Tests the RTCPeerConnection Ice functionality."); |
9 | 9 |
10 var pc = null; | 10 var pc = null; |
11 var iceCandidate = null; | 11 var iceCandidate = null; |
12 | 12 |
13 function onIceChange2() | 13 function onIceChange2() |
14 { | 14 { |
15 if (pc.iceConnectionState === "closed") { | 15 if (pc.iceConnectionState === "closed") { |
16 testPassed("iceConnectionState is closed."); | 16 testPassed("iceConnectionState is closed."); |
17 finishJSTest(); | 17 finishJSTest(); |
18 } | 18 } |
19 } | 19 } |
20 | 20 |
21 function addIceCandidateSuccess() | 21 function addIceCandidateSuccess() |
22 { | 22 { |
23 testPassed("addIceCandidateSuccess was called."); | 23 testPassed("addIceCandidateSuccess was called."); |
24 pc.oniceconnectionstatechange = onIceChange2; | 24 pc.oniceconnectionstatechange = onIceChange2; |
25 pc.close(); | 25 pc.close(); |
26 } | 26 } |
27 | 27 |
28 function addIceCandidateFailure() | 28 function addIceCandidateFailure() |
29 { | 29 { |
30 testFailed("addIceCandidateFailue was called."); | 30 testFailed("addIceCandidateFailure was called."); |
31 finishJSTest(); | 31 finishJSTest(); |
32 } | 32 } |
33 | 33 |
| 34 function expectedTypeError(error) |
| 35 { |
| 36 shouldBe(error.name, "TypeError") |
| 37 testPassed("expectedTypeError was called.") |
| 38 } |
| 39 |
34 function onIceChange1() | 40 function onIceChange1() |
35 { | 41 { |
36 if (pc.iceConnectionState === "completed") { | 42 if (pc.iceConnectionState === "completed") { |
37 testPassed("iceConnectionState is completed"); | 43 testPassed("iceConnectionState is completed"); |
38 iceCandidate = new RTCIceCandidate({candidate:"nano nano"}); | 44 iceCandidate = new RTCIceCandidate({candidate:"nano nano"}); |
39 shouldThrow('pc.addIceCandidate(null, addIceCandidateSuccess, addIceCand
idateFailure);'); | 45 shouldNotThrow('pc.addIceCandidate(null, addIceCandidateSuccess, addIceC
andidateFailure).catch(expectedTypeError);'); |
40 shouldThrow('pc.addIceCandidate(iceCandidate, null, addIceCandidateFailu
re);'); | 46 shouldNotThrow('pc.addIceCandidate(iceCandidate, null, addIceCandidateFa
ilure).catch(expectedTypeError);'); |
41 shouldThrow('pc.addIceCandidate(iceCandidate, addIceCandidateSuccess, nu
ll);'); | 47 shouldNotThrow('pc.addIceCandidate(iceCandidate, addIceCandidateSuccess,
null).catch(expectedTypeError);'); |
42 shouldNotThrow('pc.addIceCandidate(iceCandidate, addIceCandidateSuccess,
addIceCandidateFailure);'); | 48 shouldNotThrow('pc.addIceCandidate(iceCandidate, addIceCandidateSuccess,
addIceCandidateFailure);'); |
43 } | 49 } |
44 } | 50 } |
45 | 51 |
46 shouldNotThrow('pc = new webkitRTCPeerConnection(null, null);'); | 52 shouldNotThrow('pc = new webkitRTCPeerConnection(null, null);'); |
47 pc.oniceconnectionstatechange = onIceChange1; | 53 pc.oniceconnectionstatechange = onIceChange1; |
48 | 54 |
49 window.jsTestIsAsync = true; | 55 window.jsTestIsAsync = true; |
50 window.successfullyParsed = true; | 56 window.successfullyParsed = true; |
51 </script> | 57 </script> |
52 </body> | 58 </body> |
53 </html> | 59 </html> |
OLD | NEW |