blob: f9f5f1929a5ad14fd0e35e323568b447b3ab6a05 [file] [log] [blame] [edit]
<html>
<head>
</head>
<body>
<script src="../resources/js-test.js"></script>
<script>
if (window.testRunner)
window.testRunner.waitUntilDone();
async function runWorkerFuzz(){
const blob=new Blob([`
onmessage=function(e){
try {
let t=e.data;
for (let i = 0; i < 70; i++)
t = btoa(t);
} catch (e) {
postMessage(e);
return;
}
postMessage("didn't throw");
};
`], { type: 'application/javascript' });
const url = URL.createObjectURL(blob);
const worker = new Worker(url);
let done;
let promise = new Promise((resolve) => {
done = resolve;
});
worker.onmessage = done;
worker.postMessage("A");
globalThis.message = await promise;
shouldBeType("message.data", "RangeError");
if (window.testRunner)
window.testRunner.notifyDone();
}
addEventListener('load', runWorkerFuzz);
</script>
</body>
</html>