зеркало из https://github.com/mozilla/gecko-dev.git
75 строки
1.6 KiB
HTML
75 строки
1.6 KiB
HTML
<!--
|
|
Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
|
-->
|
|
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test AbortController</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body>
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
function testWebIDL() {
|
|
ok("AbortController" in self, "We have a AbortController prototype");
|
|
ok("AbortSignal" in self, "We have a AbortSignal prototype");
|
|
|
|
var ac = new AbortController();
|
|
ok(!!ac, "AbortController can be created");
|
|
ok(ac instanceof AbortController, "AbortController is a AbortController");
|
|
|
|
ok(!!ac.signal, "AbortController has a signal");
|
|
ok(ac.signal instanceof AbortSignal, "abortSignal is a AbortSignal");
|
|
is(ac.signal.aborted, false, "By default AbortSignal.aborted is false");
|
|
next();
|
|
}
|
|
|
|
function testUpdateData() {
|
|
var ac = new AbortController();
|
|
|
|
is(ac.signal.aborted, false, "By default AbortSignal.aborted is false");
|
|
|
|
ac.abort();
|
|
is(ac.signal.aborted, true, "Signal is aborted");
|
|
|
|
next();
|
|
}
|
|
|
|
function testAbortEvent() {
|
|
var ac = new AbortController();
|
|
ac.signal.onabort = function(e) {
|
|
is(e.type, "abort", "Abort received");
|
|
next();
|
|
};
|
|
ac.abort();
|
|
}
|
|
|
|
var steps = [
|
|
// Simple stuff
|
|
testWebIDL,
|
|
testUpdateData,
|
|
|
|
// Event propagation
|
|
testAbortEvent,
|
|
];
|
|
|
|
function next() {
|
|
if (!steps.length) {
|
|
SimpleTest.finish();
|
|
return;
|
|
}
|
|
|
|
var step = steps.shift();
|
|
step();
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
next();
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|