https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 6b4d9e77890ee0ab0b24e4ee023b14dd92daaaf4 authored by Ben Kelly on 28 March 2018, 19:46:15 UTC
P2 Add a WPT test verifying synthetic responses work when a request fragment is present.
Tip revision: 6b4d9e7
RTCRtpReceiver-getStats.html
<!doctype html>
<meta charset=utf-8>
<title>RTCRtpReceiver.prototype.getStats</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="dictionary-helper.js"></script>
<script src="RTCStats-helper.js"></script>
<script>
  'use strict';

  // Test is based on the following editor draft:
  // https://w3c.github.io/webrtc-pc/archives/20170605/webrtc.html
  // https://w3c.github.io/webrtc-stats/archives/20170614/webrtc-stats.html

  // The following helper function is called from RTCStats-helper.js
  //   validateStatsReport
  //   assert_stats_report_has_stats

  /*
    5.3.  RTCRtpReceiver Interface
      interface RTCRtpReceiver {
         Promise<RTCStatsReport> getStats();
          ...
      };

      getStats
        1.  Let selector be the RTCRtpReceiver object on which the method was invoked.
        2.  Let p be a new promise, and run the following steps in parallel:
          1.  Gather the stats indicated by selector according to the stats selection
              algorithm.
          2.  Resolve p with the resulting RTCStatsReport object, containing the
              gathered stats.
        3.  Return p.

    8.5. The stats selection algorithm
      4.  If selector is an RTCRtpReceiver, gather stats for and add the following objects
          to result:
        - All RTCInboundRTPStreamStats objects corresponding to selector.
        - All stats objects referenced directly or indirectly by the RTCInboundRTPStreamStats
          added.
   */

  promise_test(() => {
    const pc = new RTCPeerConnection();
    const { receiver } = pc.addTransceiver('audio');

    return receiver.getStats()
    .then(statsReport => {
      validateStatsReport(statsReport);
      assert_stats_report_has_stats(statsReport, ['inbound-rtp']);
    });
  }, 'receiver.getStats() should return stats report containing inbound-rtp stats');

</script>
back to top