summaryrefslogtreecommitdiff
path: root/op_crates/web/abort_controller_test.js
diff options
context:
space:
mode:
authorLuca Casonato <lucacasonato@yahoo.com>2021-03-12 16:17:18 +0100
committerGitHub <noreply@github.com>2021-03-12 16:17:18 +0100
commite83ff62ccbe33ad9c19cb9cab9154b6767d6d74b (patch)
tree9b37e4ff189e3c3aa4b454c9835b892fb0a9723a /op_crates/web/abort_controller_test.js
parent2f9d7c02dc87cfc57a6d37dc27bb0680b9ac7128 (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.js140
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();