tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 15c8fcfdaae11079889d4d9d996efc54e6a776b7
parent 6500b94510ad159b8cd6936ae461bae9ca16f7fa
Author: Ahmad Saleem <52317531+Ahmad-S792@users.noreply.github.com>
Date:   Fri, 19 Dec 2025 09:15:16 +0000

Bug 2006266 [wpt PR 56773] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=277604, a=testonly

Automatic update from web-platform-tests
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=277604 (#56773)

--

wpt-commits: 5123142aa9e06571d5753ef0ba95726f0559906d
wpt-pr: 56773

Diffstat:
Atesting/web-platform/tests/webrtc/RTCDataChannelInit-maxPacketLifeTime-enforce-range.html | 101+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Atesting/web-platform/tests/webrtc/RTCDataChannelInit-maxRetransmits-enforce-range.html | 101+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 202 insertions(+), 0 deletions(-)

diff --git a/testing/web-platform/tests/webrtc/RTCDataChannelInit-maxPacketLifeTime-enforce-range.html b/testing/web-platform/tests/webrtc/RTCDataChannelInit-maxPacketLifeTime-enforce-range.html @@ -0,0 +1,101 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>RTCDataChannelInit maxPacketLifeTime [EnforceRange] unsigned short tests</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +'use strict'; + +// Helper to create a basic RTCPeerConnection +function createPC() { + return new RTCPeerConnection(); +} + +// Test valid values within unsigned short range (0-65535) +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: 0 }); + assert_equals(channel.maxPacketLifeTime, 0); + pc.close(); +}, 'maxPacketLifeTime with value 0 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: 1 }); + assert_equals(channel.maxPacketLifeTime, 1); + pc.close(); +}, 'maxPacketLifeTime with value 1 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: 1000 }); + assert_equals(channel.maxPacketLifeTime, 1000); + pc.close(); +}, 'maxPacketLifeTime with value 1000 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: 65535 }); + assert_equals(channel.maxPacketLifeTime, 65535); + pc.close(); +}, 'maxPacketLifeTime with maximum value 65535 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: 65534 }); + assert_equals(channel.maxPacketLifeTime, 65534); + pc.close(); +}, 'maxPacketLifeTime with value 65534 (max-1) should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: 3 }); + assert_equals(channel.maxPacketLifeTime, 3); + pc.close(); +}, 'maxPacketLifeTime with value 3 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: 10 }); + assert_equals(channel.maxPacketLifeTime, 10); + pc.close(); +}, 'maxPacketLifeTime with value 10 should succeed'); + +// Test [EnforceRange] behavior - values outside range should throw TypeError +const badValues = [ + { value: -1, description: 'value -1' }, + { value: -100, description: 'value -100' }, + { value: 65536, description: 'value 65536' }, + { value: 100000, description: 'value 100000' }, + { value: Infinity, description: 'Infinity' }, + { value: -Infinity, description: '-Infinity' }, + { value: NaN, description: 'NaN' }, + { value: "65536", description: 'string "65536"' } +]; + +badValues.forEach(({ value, description }) => { + test(() => { + const pc = createPC(); + assert_throws_js(TypeError, () => { + pc.createDataChannel('test', { maxPacketLifeTime: value }); + }); + pc.close(); + }, `maxPacketLifeTime with ${description} should throw TypeError`); +}); + +// Test numeric strings (should be converted to numbers) +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxPacketLifeTime: "100" }); + assert_equals(channel.maxPacketLifeTime, 100); + pc.close(); +}, 'maxPacketLifeTime with numeric string "100" should be converted to 100'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', {}); + assert_equals(channel.maxPacketLifeTime, null); + pc.close(); +}, 'maxPacketLifeTime when omitted should be null'); + +</script> diff --git a/testing/web-platform/tests/webrtc/RTCDataChannelInit-maxRetransmits-enforce-range.html b/testing/web-platform/tests/webrtc/RTCDataChannelInit-maxRetransmits-enforce-range.html @@ -0,0 +1,101 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>RTCDataChannelInit maxRetransmits [EnforceRange] unsigned short tests</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +'use strict'; + +// Helper to create a basic RTCPeerConnection +function createPC() { + return new RTCPeerConnection(); +} + +// Test valid values within unsigned short range (0-65535) +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: 0 }); + assert_equals(channel.maxRetransmits, 0); + pc.close(); +}, 'maxRetransmits with value 0 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: 1 }); + assert_equals(channel.maxRetransmits, 1); + pc.close(); +}, 'maxRetransmits with value 1 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: 1000 }); + assert_equals(channel.maxRetransmits, 1000); + pc.close(); +}, 'maxRetransmits with value 1000 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: 65535 }); + assert_equals(channel.maxRetransmits, 65535); + pc.close(); +}, 'maxRetransmits with maximum value 65535 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: 65534 }); + assert_equals(channel.maxRetransmits, 65534); + pc.close(); +}, 'maxRetransmits with value 65534 (max-1) should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: 3 }); + assert_equals(channel.maxRetransmits, 3); + pc.close(); +}, 'maxRetransmits with value 3 should succeed'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: 10 }); + assert_equals(channel.maxRetransmits, 10); + pc.close(); +}, 'maxRetransmits with value 10 should succeed'); + +// Test [EnforceRange] behavior - values outside range should throw TypeError +const badValues = [ + { value: -1, description: 'value -1' }, + { value: -100, description: 'value -100' }, + { value: 65536, description: 'value 65536' }, + { value: 100000, description: 'value 100000' }, + { value: Infinity, description: 'Infinity' }, + { value: -Infinity, description: '-Infinity' }, + { value: NaN, description: 'NaN' }, + { value: "65536", description: 'string "65536"' } +]; + +badValues.forEach(({ value, description }) => { + test(() => { + const pc = createPC(); + assert_throws_js(TypeError, () => { + pc.createDataChannel('test', { maxRetransmits: value }); + }); + pc.close(); + }, `maxRetransmits with ${description} should throw TypeError`); +}); + +// Test numeric strings (should be converted to numbers) +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', { maxRetransmits: "100" }); + assert_equals(channel.maxRetransmits, 100); + pc.close(); +}, 'maxRetransmits with numeric string "100" should be converted to 100'); + +test(() => { + const pc = createPC(); + const channel = pc.createDataChannel('test', {}); + assert_equals(channel.maxRetransmits, null); + pc.close(); +}, 'maxRetransmits when omitted should be null'); + +</script>