diff options
Diffstat (limited to 'op_crates/web/abort_controller_test.js')
-rw-r--r-- | op_crates/web/abort_controller_test.js | 18 |
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(); } |