|  | <!doctype html> | 
|  | <meta charset=utf-8> | 
|  | <title>RTCRtpSender.getCapabilities</title> | 
|  | <script src="/resources/testharness.js"></script> | 
|  | <script src="/resources/testharnessreport.js"></script> | 
|  | <script src="dictionary-helper.js"></script> | 
|  | <script src="RTCRtpCapabilities-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 RTCRtpCapabilities-helper.js: | 
|  | // validateRtpCapabilities | 
|  |  | 
|  | /* | 
|  | 5.2. RTCRtpSender Interface | 
|  | interface RTCRtpSender { | 
|  | ... | 
|  | static RTCRtpCapabilities getCapabilities(DOMString kind); | 
|  | }; | 
|  |  | 
|  | getCapabilities | 
|  | The getCapabilities() method returns the most optimist view on the capabilities | 
|  | of the system for sending media of the given kind. It does not reserve any | 
|  | resources, ports, or other state but is meant to provide a way to discover | 
|  | the types of capabilities of the browser including which codecs may be supported. | 
|  | */ | 
|  | test(() => { | 
|  | const capabilities = RTCRtpSender.getCapabilities('audio'); | 
|  | validateRtpCapabilities(capabilities); | 
|  | }, `RTCRtpSender.getCapabilities('audio') should return RTCRtpCapabilities dictionary`); | 
|  |  | 
|  | test(() => { | 
|  | const capabilities = RTCRtpSender.getCapabilities('video'); | 
|  | validateRtpCapabilities(capabilities); | 
|  | }, `RTCRtpSender.getCapabilities('video') should return RTCRtpCapabilities dictionary`); | 
|  |  | 
|  | test(() => { | 
|  | const capabilities = RTCRtpSender.getCapabilities('dummy'); | 
|  | assert_equals(capabilities, null); | 
|  | }, `RTCRtpSender.getCapabilities('dummy') should return null`); | 
|  |  | 
|  | </script> |