diff options
author | Luca Casonato <lucacasonato@yahoo.com> | 2021-03-12 16:17:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-12 16:17:18 +0100 |
commit | e83ff62ccbe33ad9c19cb9cab9154b6767d6d74b (patch) | |
tree | 9b37e4ff189e3c3aa4b454c9835b892fb0a9723a /op_crates/web/abort_controller_test.js | |
parent | 2f9d7c02dc87cfc57a6d37dc27bb0680b9ac7128 (diff) |
chore: split web op crate (#9635)
This commit starts splitting out the deno_web op crate into multiple
smaller crates. This commit splits out WebIDL and URL API, but in the
future I want to split out each spec into its own crate. That means we
will have (in rough order of loading): `webidl`, `dom`, `streams`,
`console`, `encoding`, `url`, `file`, `fetch`, `websocket`, and
`webgpu` crates.
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(); |