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/pending-beacon/pending_post_beacon-sendwithdata.tentative.https.window.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/pending-beacon/pending_post_beacon-sendwithdata.tentative.https.window.js')
-rw-r--r-- | testing/web-platform/tests/pending-beacon/pending_post_beacon-sendwithdata.tentative.https.window.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/web-platform/tests/pending-beacon/pending_post_beacon-sendwithdata.tentative.https.window.js b/testing/web-platform/tests/pending-beacon/pending_post_beacon-sendwithdata.tentative.https.window.js new file mode 100644 index 0000000000..77e91479e8 --- /dev/null +++ b/testing/web-platform/tests/pending-beacon/pending_post_beacon-sendwithdata.tentative.https.window.js @@ -0,0 +1,43 @@ +// META: script=/common/utils.js +// META: script=./resources/pending_beacon-helper.js + +'use strict'; + +// Test empty data. +for (const dataType in BeaconDataType) { + postBeaconSendDataTest( + dataType, '', `Sent empty ${dataType}, and server got no data.`, { + expectNoData: true, + }); +} + +// Test small payload. +for (const [dataType, skipCharset] of Object.entries( + BeaconDataTypeToSkipCharset)) { + postBeaconSendDataTest( + dataType, generateSequentialData(0, 1024, skipCharset), + 'Encoded and sent in POST request.'); +} + +// Test large payload. +for (const dataType in BeaconDataType) { + postBeaconSendDataTest( + dataType, generatePayload(65536), 'Sent out big data.'); +} + +test(() => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + let beacon = new PendingPostBeacon(url); + assert_throws_js(TypeError, () => beacon.setData(new ReadableStream())); +}, 'setData() does not support ReadableStream.'); + +test(() => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + let beacon = new PendingPostBeacon(url); + const formData = new FormData(); + formData.append('part1', 'value1'); + formData.append('part2', new Blob(['value2']), 'file.txt'); + assert_throws_js(RangeError, () => beacon.setData(formData)); +}, 'setData() does not support multi-parts data.'); |