diff options
Diffstat (limited to 'op_crates/web/abort_controller_test.js')
-rw-r--r-- | op_crates/web/abort_controller_test.js | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/op_crates/web/abort_controller_test.js b/op_crates/web/abort_controller_test.js deleted file mode 100644 index 26f58dccb..000000000 --- a/op_crates/web/abort_controller_test.js +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. -"use strict"; -function assert(cond) { - if (!cond) { - throw Error("assert"); - } -} - -function assertEquals(left, right) { - assert(left === right); -} - -function assertThrows(fn) { - let error = null; - try { - fn(); - } catch (error_) { - error = error_; - } - if (error == null) { - throw new Error("Didn't throw."); - } - return error; -} - -function basicAbortController() { - const controller = new AbortController(); - assert(controller); - const { signal } = controller; - assert(signal); - assertEquals(signal.aborted, false); - controller.abort(); - assertEquals(signal.aborted, true); -} - -function signalCallsOnabort() { - const controller = new AbortController(); - const { signal } = controller; - let called = false; - signal.onabort = (evt) => { - assert(evt); - assertEquals(evt.type, "abort"); - called = true; - }; - controller.abort(); - assert(called); -} - -function signalEventListener() { - const controller = new AbortController(); - const { signal } = controller; - let called = false; - signal.addEventListener("abort", function (ev) { - assert(this === signal); - assertEquals(ev.type, "abort"); - called = true; - }); - controller.abort(); - assert(called); -} - -function onlyAbortsOnce() { - const controller = new AbortController(); - const { signal } = controller; - let called = 0; - signal.addEventListener("abort", () => called++); - signal.onabort = () => { - called++; - }; - controller.abort(); - assertEquals(called, 2); - controller.abort(); - assertEquals(called, 2); -} - -function controllerHasProperToString() { - const actual = Object.prototype.toString.call(new AbortController()); - assertEquals(actual, "[object AbortController]"); -} - -function abortSignalIllegalConstructor() { - const error = assertThrows(() => new AbortSignal()); - assert(error instanceof TypeError); - assertEquals(error.message, "Illegal constructor."); -} - -function abortSignalEventOrder() { - const arr = []; - const controller = new AbortController(); - const { signal } = controller; - signal.addEventListener("abort", () => arr.push(1)); - signal.onabort = () => arr.push(2); - signal.addEventListener("abort", () => arr.push(3)); - controller.abort(); - assertEquals(arr[0], 1); - 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; - const abortHandler = Object.getOwnPropertyDescriptor(signal, "onabort"); - assertEquals(abortHandler, undefined); -} -function abortSignalLength() { - const controller = new AbortController(); - const { signal } = controller; - assertEquals(signal.constructor.length, 0); -} -function main() { - basicAbortController(); - signalCallsOnabort(); - signalEventListener(); - onlyAbortsOnce(); - controllerHasProperToString(); - abortSignalIllegalConstructor(); - abortSignalEventOrder(); - abortSignalEventOrderComplex(); - abortSignalHandlerLocation(); - abortSignalLength(); -} - -main(); |