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