Revision de23472d66fb6b1bff6b56586c5299c543bd71f5 authored by Emilio Cobos Álvarez on 11 April 2018, 12:15:02 UTC, committed by Emilio Cobos Álvarez on 13 April 2018, 20:20:17 UTC
This tests the resolution in https://github.com/w3c/csswg-drafts/issues/2149.
1 parent cb845c5
Raw File
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