summaryrefslogtreecommitdiff
path: root/op_crates/web/abort_controller_test.js
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2020-09-19 22:30:59 +0100
committerGitHub <noreply@github.com>2020-09-19 23:30:59 +0200
commitaaa5e6613a739f8e2ff7579b69c2504bcdc37d4f (patch)
treed6c198b5bc222be4c097e7aa5e9504662c98a974 /op_crates/web/abort_controller_test.js
parent79e5b57663becad3614bce98e31c7d1d494cb50d (diff)
fix(cli/rt): make some web API constructors illegal at runtime (#7468)
Diffstat (limited to 'op_crates/web/abort_controller_test.js')
-rw-r--r--op_crates/web/abort_controller_test.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/op_crates/web/abort_controller_test.js b/op_crates/web/abort_controller_test.js
index a2fb12c65..0243c6628 100644
--- a/op_crates/web/abort_controller_test.js
+++ b/op_crates/web/abort_controller_test.js
@@ -9,6 +9,19 @@ 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() {
controller = new AbortController();
assert(controller);
@@ -64,12 +77,19 @@ function controllerHasProperToString() {
assertEquals(actual, "[object AbortController]");
}
+function abortSignalIllegalConstructor() {
+ const error = assertThrows(() => new AbortSignal());
+ assert(error instanceof TypeError);
+ assertEquals(error.message, "Illegal constructor.");
+}
+
function main() {
basicAbortController();
signalCallsOnabort();
signalEventListener();
onlyAbortsOnce();
controllerHasProperToString();
+ abortSignalIllegalConstructor();
}
main();