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

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

Issue 2097563002: Split the mediastream module in Blink into mediastream and peerconnection (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Copy OWNERS file from mediastream/ to peerconnection/ Created 4 years, 5 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
(Empty)
1
2 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
3 <html>
4 <head>
5 <script src="../../resources/js-test.js"></script>
6 </head>
7 <body>
8 <script>
9 description("Tests the RTCPeerConnection stats interface.");
10
11 var pc = null;
12 var result;
13
14 function getUserMedia(dictionary, callback) {
15 try {
16 navigator.webkitGetUserMedia(dictionary, callback, error);
17 } catch (e) {
18 testFailed('webkitGetUserMedia threw exception :' + e);
19 finishJSTest();
20 }
21 }
22
23 function error() {
24 testFailed('Stream generation failed.');
25 finishJSTest();
26 }
27
28 function verifyStats(status)
29 {
30 // Status must be a global variable to be used in test statements.
31 status_g = status;
32 result = status.result();
33 shouldBeGreaterThanOrEqual('result.length', '2');
34 // Windows XP sometimes gives time that appears to go backwards.
35 // This hack will make the tests non-flaky if it never goes backwards
36 // by more than 20 milliseconds.
37 // Up to 10 milliseconds has been observed on XP, 2 milliseconds on Win7.
38 fudgeForXP = 20;
39 res = result[0];
40 timediff = res.timestamp - startTime + fudgeForXP;
41 shouldBeGreaterThanOrEqual('timediff', '0');
42 shouldBeNonNull('res.id');
43 shouldBeNonNull('res.type');
44 shouldBeGreaterThanOrEqual('res.names().length', '1');
45 shouldBeGreaterThanOrEqual('res.names().indexOf("type")', '0');
46 shouldBe('res.stat("type")', '"audio"');
47 // Named getter: Can access results by their ID values.
48 shouldBeNonNull('status_g.namedItem(res.id)');
49 shouldBeNonNull('status_g[res.id]');
50 }
51
52 function statsHandler1(status)
53 {
54 testPassed("statsHandler1 was called");
55 shouldBeNonNull('status');
56 result = status.result();
57 shouldBe('result.length', '0');
58 shouldNotThrow('getUserMedia({audio:true, video:true}, gotStream)');
59 }
60
61 function gotStream(s) {
62 testPassed('Got a stream.');
63 stream = s;
64
65 pc.addStream(stream);
66 shouldNotThrow('pc.getStats(statsHandler2)');
67 }
68
69 function statsHandler2(status)
70 {
71 testPassed("statsHandler2 was called");
72 verifyStats(status);
73 shouldNotThrow('pc.close()');
74 shouldNotThrow('pc.getStats(statsHandler3)');
75 }
76
77 function statsHandler3(status)
78 {
79 testPassed("statsHandler3 was called");
80 verifyStats(status);
81 finishJSTest();
82 }
83
84 var startTime = new Date().getTime();
85 shouldNotThrow('pc = new webkitRTCPeerConnection(null)');
86 shouldNotThrow('pc.getStats(statsHandler1)');
87
88 window.jsTestIsAsync = true;
89 window.successfullyParsed = true;
90 </script>
91 </body>
92 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698