1
0
Fork 0
firefox/testing/web-platform/tests/wasm/webapi/abort.any.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

37 lines
1.4 KiB
JavaScript

const methods = [
"compileStreaming",
"instantiateStreaming",
];
for (const method of methods) {
promise_test(async t => {
const controller = new AbortController();
const signal = controller.signal;
controller.abort();
const request = fetch('../incrementer.wasm', { signal });
return promise_rejects_dom(t, 'AbortError', WebAssembly[method](request),
`${method} should reject`);
}, `${method}() on an already-aborted request should reject with AbortError`);
promise_test(async t => {
const controller = new AbortController();
const signal = controller.signal;
const request = fetch('../incrementer.wasm', { signal });
const promise = WebAssembly[method](request);
controller.abort();
return promise_rejects_dom(t, 'AbortError', promise, `${method} should reject`);
}, `${method}() synchronously followed by abort should reject with AbortError`);
promise_test(async t => {
const controller = new AbortController();
const signal = controller.signal;
return fetch('../incrementer.wasm', { signal })
.then(response => {
Promise.resolve().then(() => controller.abort());
return WebAssembly[method](response);
})
.catch(err => {
assert_equals(err.name, "AbortError");
});
}, `${method}() asynchronously racing with abort should succeed or reject with AbortError`);
}