mirror of
https://github.com/SerenityOS/serenity
synced 2026-05-14 02:46:22 +02:00
Unfortunately the added test (which passes locally) is skipped as it is based off other Worker tests which are also skipped due to being flakey in CI. (cherry picked from commit 755b63132b72cb25bd358415bf2fdf2be3c14c47)
30 lines
972 B
HTML
30 lines
972 B
HTML
<script src="../include.js"></script>
|
|
<script>
|
|
asyncTest((done) => {
|
|
const workerScript = `
|
|
self.onmessage = function(evt) {
|
|
const receivedBuffer = evt.data;
|
|
self.postMessage(receivedBuffer, [receivedBuffer]);
|
|
};
|
|
`;
|
|
|
|
const blob = new Blob([workerScript], { type: 'application/javascript' });
|
|
const workerScriptURL = URL.createObjectURL(blob);
|
|
const worker = new Worker(workerScriptURL);
|
|
|
|
worker.onmessage = function(evt) {
|
|
const bufTransferredBackFromWorker = evt.data;
|
|
const decoder = new TextDecoder();
|
|
|
|
println('Message received from worker: ' + decoder.decode(bufTransferredBackFromWorker));
|
|
done();
|
|
};
|
|
|
|
const encoder = new TextEncoder();
|
|
const message = encoder.encode("Hello, world");
|
|
const myBuf = message.buffer;
|
|
|
|
worker.postMessage(myBuf, [myBuf]);
|
|
});
|
|
</script>
|