diff options
author | Benjamin Gruenbaum <benjamingr@gmail.com> | 2020-11-09 18:49:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-09 17:49:19 +0100 |
commit | 996a87b168ea22592313803d1d068065e438787f (patch) | |
tree | 9b31a0c7598fe8b81ba9cfc52476aa389dd9564f /op_crates/web/abort_controller_test.js | |
parent | c650c5c720d4ab7aa2150f0047bafa8ac7a01b61 (diff) |
fix(op_crates/web): handler order when reassign (#8264)
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(); } |