summaryrefslogtreecommitdiff
path: root/op_crates/web/abort_controller_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'op_crates/web/abort_controller_test.js')
-rw-r--r--op_crates/web/abort_controller_test.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/op_crates/web/abort_controller_test.js b/op_crates/web/abort_controller_test.js
index 4d3741986..a65bc69ff 100644
--- a/op_crates/web/abort_controller_test.js
+++ b/op_crates/web/abort_controller_test.js
@@ -95,6 +95,23 @@ function abortSignalEventOrder() {
assertEquals(arr[1], 2);
assertEquals(arr[2], 3);
}
+
+function abortSignalEventOrderComplex() {
+ const arr = [];
+ const controller = new AbortController();
+ const { signal } = controller;
+ signal.addEventListener("abort", () => arr.push(1));
+ signal.onabort = () => {
+ throw new Error();
+ };
+ signal.addEventListener("abort", () => arr.push(3));
+ signal.onabort = () => arr.push(2);
+ controller.abort();
+ assertEquals(arr[0], 1);
+ assertEquals(arr[1], 2);
+ assertEquals(arr[2], 3);
+}
+
function abortSignalHandlerLocation() {
const controller = new AbortController();
const { signal } = controller;
@@ -109,6 +126,7 @@ function main() {
controllerHasProperToString();
abortSignalIllegalConstructor();
abortSignalEventOrder();
+ abortSignalEventOrderComplex();
abortSignalHandlerLocation();
}