| <!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> |