Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer.html

Issue 1713953002: Report errors in RTCPeerConnection legacy functions via the the failure callback instead of excepti… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 createOffer."); 8 description("Tests RTCPeerConnection createOffer.");
9 9
10 // Note: createOffer() calls in the test runner are successful if the 10 // Note: createOffer() calls in the test runner are successful if the
11 // voiceActivityDetection and iceRestart options are passed with a value of true . 11 // voiceActivityDetection and iceRestart options are passed with a value of true .
12 // In all other cases, createOffer() fails in the test runner. 12 // In all other cases, createOffer() fails in the test runner.
13 13
14 var pc = null; 14 var pc = null;
15 15
16 function dummy() {} 16 function unexpectedCallback()
17 {
18 testFailed('unexpectedCallback was called')
19 finishJSTest();
20 }
17 21
18 function requestFailed2(error) 22 function expectedCreateOfferFailed7(error)
19 { 23 {
20 testPassed('requestFailed was called.'); 24 testPassed('expectedCreateOfferFailed7 called.');
21
22 window.error = error; 25 window.error = error;
23 shouldBe('error.name', '"OperationError"'); 26 shouldBe('error.name', '"OperationError"');
24 shouldBe('error.toString()', '"OperationError: TEST_ERROR"'); 27 shouldBe('error.toString()', '"OperationError: TEST_ERROR"');
25
26 shouldNotThrow("pc.createOffer(dummy, dummy);");
27 shouldNotThrow("pc.createOffer(dummy, dummy, {});");
28 shouldNotThrow("pc.createOffer(dummy, dummy, {voiceActivityDetection:false}) ;");
29 shouldNotThrow("pc.createOffer(dummy, dummy, {iceRestart:true});");
30 shouldNotThrow("pc.createOffer(dummy, dummy, {voiceActivityDetection:false, iceRestart:true});");
31
32 // Deprecated.
33 shouldThrow("pc.createOffer(dummy, dummy, {offerToReceiveVideo:-1, offerToRe ceiveAudio:0});");
34 shouldThrow("pc.createOffer(dummy, dummy, {offerToReceiveVideo:0, offerToRec eiveAudio:-1});");
35 shouldNotThrow("pc.createOffer(dummy, dummy, {offerToReceiveVideo:1, offerTo ReceiveAudio:0, voiceActivityDetection:false, iceRestart:true});");
36
37 finishJSTest(); 28 finishJSTest();
38 } 29 }
39 30
40 function requestSucceeded2(sd) 31 function expectedCreateOfferFailed6(error)
41 { 32 {
42 testFailed('requestSucceeded was called.'); 33 testPassed('expectedCreateOfferFailed6 called.');
43 finishJSTest(); 34 window.error = error;
35 shouldBe('error.name', '"OperationError"');
36 shouldBe('error.toString()', '"OperationError: TEST_ERROR"');
37 shouldNotThrow("pc.createOffer(unexpectedCallback, expectedCreateOfferFailed 7, {offerToReceiveVideo:0, offerToReceiveAudio:-1});");
44 } 38 }
45 39
46 function requestFailed1() 40 function expectedCreateOfferFailed5(error) {
47 { 41 testPassed('expectedCreateOfferFailed5 was called.');
48 testFailed('requestFailed was called.'); 42 window.error = error;
49 finishJSTest(); 43 shouldBe('error.name', '"OperationError"');
44 shouldBe('error.toString()', '"OperationError: TEST_ERROR"');
45 shouldNotThrow("pc.createOffer(unexpectedCallback, expectedCreateOfferFailed 6, {offerToReceiveVideo:-1, offerToReceiveAudio:0});");
50 } 46 }
51 47
52 function requestSucceeded1(sd) 48 function createOfferSucceeded2() {
53 { 49 testPassed('createOfferSucceeded2 was called.');
54 testPassed('requestSucceeded was called.'); 50 shouldNotThrow("pc.createOffer(unexpectedCallback, expectedCreateOfferFailed 5, {offerToReceiveVideo:1, offerToReceiveAudio:0, voiceActivityDetection:false, iceRestart:true});");
55
56 sessionDescription = sd;
57 shouldBe('sessionDescription.type', '"offer"');
58
59 pc.createOffer(requestSucceeded2, requestFailed2);
60 } 51 }
61 52
53 function expectedCreateOfferFailed4(error) {
54 testPassed('expectedCreateOfferFailed4 was called.');
55 window.error = error;
56 shouldBe('error.name', '"OperationError"');
57 shouldBe('error.toString()', '"OperationError: TEST_ERROR"');
58 shouldNotThrow("pc.createOffer(createOfferSucceeded2, unexpectedCallback, {i ceRestart:true});");
59 }
60
61 function expectedCreateOfferFailed3(error) {
62 testPassed('expectedCreateOfferFailed3 was called.');
63 window.error = error;
64 shouldBe('error.name', '"OperationError"');
65 shouldBe('error.toString()', '"OperationError: TEST_ERROR"');
66 shouldNotThrow("pc.createOffer(unexpectedCallback, expectedCreateOfferFailed 4, {voiceActivityDetection:false});");
67 }
68
69 function expectedCreateOfferFailed2(error) {
70 testPassed('expectedCreateOfferFailed2 was called.');
71 window.error = error;
72 shouldBe('error.name', '"OperationError"');
73 shouldBe('error.toString()', '"OperationError: TEST_ERROR"');
74 shouldNotThrow("pc.createOffer(unexpectedCallback, expectedCreateOfferFailed 3, {});");
75 }
76
77 function expectedCreateOfferFailed1(error)
78 {
79 testPassed('expectedCreateOfferFailed1 was called.');
80 window.error = error;
81 shouldBe('error.name', '"OperationError"');
82 shouldBe('error.toString()', '"OperationError: TEST_ERROR"');
83 shouldNotThrow("pc.createOffer(unexpectedCallback, expectedCreateOfferFailed 2);");
84 }
85
86 function createOfferSucceeded1(sessionDescription)
87 {
88 testPassed('createOfferSucceeded1 was called.');
89 window.sessionDescription = sessionDescription;
90 shouldBe('sessionDescription.type', '"offer"');
91 shouldNotThrow('pc.createOffer(unexpectedCallback, expectedCreateOfferFailed 1);');
92 }
93
94 function testExecutionOrderClosedConnection()
95 {
96 var localPeerConnection = new webkitRTCPeerConnection(null, null);
97 localPeerConnection.close();
98 var counter = 0;
99 window.events = [];
100 Promise.resolve().then(_ => window.events[counter++] = 1);
101 localPeerConnection.createOffer(unexpectedCallback, error => {
102 window.error = error;
103 shouldBe('error.name', '"InvalidStateError"');
104 shouldBe('error.toString()', '"InvalidStateError: The RTCPeerConnection\ 's signalingState is \'closed\'."');
105 window.events[counter++] = 2;
106 });
107 Promise.resolve().then(_ => {
108 window.events[counter++] = 3;
109 shouldBe('events', '[1,2,3]');
110 });
111 }
112
113 shouldNotThrow('testExecutionOrderClosedConnection()');
62 pc = new webkitRTCPeerConnection(null); 114 pc = new webkitRTCPeerConnection(null);
63 pc.createOffer(requestSucceeded1, requestFailed1, {voiceActivityDetection:true, iceRestart:true}); 115 shouldNotThrow('pc.createOffer(createOfferSucceeded1, unexpectedCallback, {voice ActivityDetection:true, iceRestart:true});');
64 116
65 window.jsTestIsAsync = true; 117 window.jsTestIsAsync = true;
66 window.successfullyParsed = true; 118 window.successfullyParsed = true;
67 </script> 119 </script>
68 </body> 120 </body>
69 </html> 121 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698