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 /dom/websocket/tests/test_websocket_bigBlob.html | |
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 'dom/websocket/tests/test_websocket_bigBlob.html')
-rw-r--r-- | dom/websocket/tests/test_websocket_bigBlob.html | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/dom/websocket/tests/test_websocket_bigBlob.html b/dom/websocket/tests/test_websocket_bigBlob.html new file mode 100644 index 0000000000..9db01d6a7f --- /dev/null +++ b/dom/websocket/tests/test_websocket_bigBlob.html @@ -0,0 +1,55 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></meta> + <title>WebSocket test - big blob on content side</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="websocket_helpers.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<script class="testbody" type="text/javascript"> + +var ws = CreateTestWS("ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_bigBlob"); +is(ws.readyState, 0, "Initial readyState is 0"); +ws.binaryType = "blob"; + +ws.onopen = function() { + is(ws.readyState, 1, "Open readyState is 1"); + ws.send(new Blob([new Array(1024*1024).join('123456789ABCDEF')])); +} + +let receivedBlob; +ws.onmessage = function(e) { + ok(e.data instanceof Blob, "We should be receiving a Blob"); + receivedBlob = e.data; + ws.close(); +} + +ws.onclose = function(e) { + is(ws.readyState, 3, "Close readyState is 3"); + + // check blob contents + var reader = new FileReader(); + reader.onload = function(event) { + is(reader.result, new Array(1024*1024).join('123456789ABCDEF'), "All data matches"); + } + + reader.onerror = function(event) { + ok(false, "Something bad happen."); + } + + reader.onloadend = function(event) { + SimpleTest.finish(); + } + + reader.readAsBinaryString(receivedBlob); +} + +SimpleTest.requestFlakyTimeout("The web socket tests are really fragile, but avoiding timeouts might be hard, since it's testing stuff on the network. " + + "Expect all sorts of flakiness in this test..."); +SimpleTest.waitForExplicitFinish(); + +</script> +</body> +</html> |