From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../tests/webtransport/sendorder.https.any.js | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 testing/web-platform/tests/webtransport/sendorder.https.any.js (limited to 'testing/web-platform/tests/webtransport/sendorder.https.any.js') diff --git a/testing/web-platform/tests/webtransport/sendorder.https.any.js b/testing/web-platform/tests/webtransport/sendorder.https.any.js new file mode 100644 index 0000000000..96944fb39b --- /dev/null +++ b/testing/web-platform/tests/webtransport/sendorder.https.any.js @@ -0,0 +1,57 @@ +// META: global=window,worker +// META: script=/common/get-host-info.sub.js +// META: script=resources/webtransport-test-helpers.sub.js +// META: script=/common/utils.js + + +promise_test(async t => { + // Establish a WebTransport session. + const wt = new WebTransport(webtransport_url('echo.py')); + await wt.ready; + + // Create a bidirectional stream with sendorder + const {readable, writable} = await wt.createBidirectionalStream({sendOrder: 3}); + assert_equals(writable.sendOrder, 3); + + // Write a message to the writable end, and close it. + const writer = writable.getWriter(); + const encoder = new TextEncoder(); + writer.write(encoder.encode('Hello World')).catch(() => {}); + await writer.close(); + + // Read the data on the readable end. + const reply = await read_stream_as_string(readable); + + // Check that the message from the readable end matches the writable end. + assert_equals(reply, 'Hello World'); +}, 'WebTransport client should be able to create and handle a bidirectional stream with sendOrder'); + +promise_test(async t => { + // Establish a WebTransport session. + const wt = new WebTransport(webtransport_url('echo.py')); + await wt.ready; + + // Create a bidirectional stream with sendorder + const {readable, writable} = await wt.createBidirectionalStream(); + assert_equals(writable.sendOrder, null); + // modify it + writable.sendOrder = 4; + assert_equals(writable.sendOrder, 4); +}, 'WebTransport client should be able to modify unset sendOrder after stream creation'); + +promise_test(async t => { + // Establish a WebTransport session. + const wt = new WebTransport(webtransport_url('echo.py')); + await wt.ready; + + // Create a bidirectional stream without sendorder + const {readable, writable} = await wt.createBidirectionalStream({sendOrder: 3}); + assert_equals(writable.sendOrder, 3); + // modify it + writable.sendOrder = 5; + assert_equals(writable.sendOrder, 5); + writable.sendOrder = null; + assert_equals(writable.sendOrder, null); + // Note: this doesn't verify the underlying stack actually changes priority, just the API + // for controlling sendOrder +}, 'WebTransport client should be able to modify existing sendOrder after stream creation'); -- cgit v1.2.3