https://github.com/web-platform-tests/wpt
Raw File
Tip revision: bff298ef3a29f1fb94968766714aa360da61b00f authored by domfarolino on 25 March 2018, 02:14:31 UTC
Add tests for https://github.com/whatwg/html/pull/3084
Tip revision: bff298e
RTCDTMFSender-ontonechange-long.https.html
<!doctype html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>RTCDTMFSender.prototype.ontonechange (Long Timeout)</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="RTCPeerConnection-helper.js"></script>
<script src="RTCDTMFSender-helper.js"></script>
<script>
  'use strict';

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

  // The following helper functions are called from RTCDTMFSender-helper.js
  //   test_tone_change_events

  /*
    7.  Peer-to-peer DTMF
      partial interface RTCRtpSender {
        readonly attribute RTCDTMFSender? dtmf;
      };

      interface RTCDTMFSender : EventTarget {
        void insertDTMF(DOMString tones,
                        optional unsigned long duration = 100,
                        optional unsigned long interToneGap = 70);
                 attribute EventHandler ontonechange;
        readonly attribute DOMString    toneBuffer;
      };

      [Constructor(DOMString type, RTCDTMFToneChangeEventInit eventInitDict)]
      interface RTCDTMFToneChangeEvent : Event {
        readonly attribute DOMString tone;
      };
   */

  /*
    7.2.  insertDTMF
      8. If the value of the duration parameter is less than 40, set it to 40.
         If, on the other hand, the value is greater than 6000, set it to 6000.
   */
  test_tone_change_events((t, dtmfSender) => {
    dtmfSender.insertDTMF('A', 8000, 70);
  }, [
    ['A', '', 0],
    ['', '', 6070]
  ],'insertDTMF with duration greater than 6000 should be clamped to 6000');

</script>
back to top