diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html')
-rw-r--r-- | testing/web-platform/tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html b/testing/web-platform/tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html new file mode 100644 index 0000000000..3573bb5876 --- /dev/null +++ b/testing/web-platform/tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html @@ -0,0 +1,129 @@ +<!doctype html> +<meta charset=utf-8> +<title>RTCRtpSendParameters degradationPreference</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + 'use strict'; + +promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + const { sender } = pc.addTransceiver('video'); + + let param = sender.getParameters(); + + assert_equals(param.degradationPreference, undefined, + 'Expect initial param.degradationPreference to be undefined'); + + param.degradationPreference = 'maintain-framerate'; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, 'maintain-framerate'); + + param.degradationPreference = 'maintain-resolution'; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, 'maintain-resolution'); + + param.degradationPreference = 'balanced'; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, 'balanced'); + + param.degradationPreference = undefined; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, undefined); +}, 'setParameters with degradationPreference set should succeed on video transceiver'); + +promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + const { sender } = pc.addTransceiver('video'); + + let param = sender.getParameters(); + + assert_equals(param.degradationPreference, undefined, + 'Expect initial param.degradationPreference to be undefined'); + + param.degradationPreference = undefined; + + await sender.setParameters(param); + + param = sender.getParameters(); + assert_equals(param.degradationPreference, undefined); +}, 'setParameters with degradationPreference unset should succeed on video transceiver'); + +promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + const { sender } = pc.addTransceiver('video'); + + let param = sender.getParameters(); + param.degradationPreference = 'invalid'; + + return promise_rejects_js(t, TypeError, sender.setParameters(param)); +}, 'setParameters with invalid degradationPreference should throw TypeError on video transceiver'); + +promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + const { sender } = pc.addTransceiver('audio'); + + let param = sender.getParameters(); + + assert_equals(param.degradationPreference, undefined, + 'Expect initial param.degradationPreference to be undefined'); + + param.degradationPreference = 'maintain-framerate'; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, 'maintain-framerate'); + + param.degradationPreference = 'maintain-resolution'; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, 'maintain-resolution'); + + param.degradationPreference = 'balanced'; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, 'balanced'); + + param.degradationPreference = undefined; + await sender.setParameters(param); + param = sender.getParameters(); + assert_equals(param.degradationPreference, undefined); +}, 'setParameters with degradationPreference set should succeed on audio transceiver'); + +promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + const { sender } = pc.addTransceiver('audio'); + + let param = sender.getParameters(); + + assert_equals(param.degradationPreference, undefined, + 'Expect initial param.degradationPreference to be undefined'); + + param.degradationPreference = undefined; + + await sender.setParameters(param); + + param = sender.getParameters(); + assert_equals(param.degradationPreference, undefined); +}, 'setParameters with degradationPreference unset should succeed on audio transceiver'); + +promise_test(async t => { + const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + const { sender } = pc.addTransceiver('audio'); + + let param = sender.getParameters(); + param.degradationPreference = 'invalid'; + + return promise_rejects_js(t, TypeError, sender.setParameters(param)); +}, 'setParameters with invalid degradationPreference should throw TypeError on audio transceiver'); + +</script> |