diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/webtransport/sendorder.https.any.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/webtransport/sendorder.https.any.js')
-rw-r--r-- | testing/web-platform/tests/webtransport/sendorder.https.any.js | 57 |
1 files changed, 57 insertions, 0 deletions
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'); |