summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/fetch/file_fetch_controller.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/fetch/file_fetch_controller.html')
-rw-r--r--dom/tests/mochitest/fetch/file_fetch_controller.html161
1 files changed, 0 insertions, 161 deletions
diff --git a/dom/tests/mochitest/fetch/file_fetch_controller.html b/dom/tests/mochitest/fetch/file_fetch_controller.html
deleted file mode 100644
index e4137aac9..000000000
--- a/dom/tests/mochitest/fetch/file_fetch_controller.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<script>
-function ok(a, msg) {
- parent.postMessage({ type: "check", status: !!a, message: msg }, "*");
-}
-
-function is(a, b, msg) {
- ok(a === b, msg);
-}
-
-function testWebIDL() {
- ok("FetchController" in self, "We have a FetchController prototype");
- ok("FetchSignal" in self, "We have a FetchSignal prototype");
-
- var fc = new FetchController();
- ok(!!fc, "FetchController can be created");
- ok(fc instanceof FetchController, "FetchController is a FetchController");
-
- ok(!!fc.signal, "FetchController has a signal");
- ok(fc.signal instanceof FetchSignal, "fetchSignal is a FetchSignal");
- is(fc.signal.aborted, false, "By default FetchSignal.aborted is false");
- next();
-}
-
-function testUpdateData() {
- var fc = new FetchController();
-
- is(fc.signal.aborted, false, "By default FetchSignal.aborted is false");
-
- fc.abort();
- is(fc.signal.aborted, true, "Signal is aborted");
-
- next();
-}
-
-function testFollowingOurself() {
- // Let's follow ourself
- var fc = new FetchController();
- fc.follow(fc.signal);
-
- fc.abort();
- is(fc.signal.aborted, true, "Signal is aborted");
-
- next();
-}
-
-function testFollowingOther() {
- // Let's follow another one
- var fc1 = new FetchController();
- var fc2 = new FetchController();
- fc1.follow(fc2.signal);
-
- fc2.abort();
-
- is(fc1.signal.aborted, true, "Signal is aborted");
- is(fc2.signal.aborted, true, "Signal is aborted");
-
- next();
-}
-
-function testFollowingLoop() {
- // fc1 -> fc2 -> fc3 -> fc1
- var fc1 = new FetchController();
- var fc2 = new FetchController();
- var fc3 = new FetchController();
- fc1.follow(fc2.signal);
- fc2.follow(fc3.signal);
- fc3.follow(fc1.signal);
-
- fc3.abort();
-
- is(fc1.signal.aborted, true, "Signal is aborted");
- is(fc2.signal.aborted, true, "Signal is aborted");
- is(fc3.signal.aborted, true, "Signal is aborted");
-
- next();
-}
-
-function testAbortEvent() {
- var fc = new FetchController();
- fc.signal.onabort = function(e) {
- is(e.type, "abort", "Abort received");
- next();
- }
- fc.abort();
-}
-
-function testAbortedFetch() {
- var fc = new FetchController();
- fc.abort();
-
- fetch('slow.sjs', { signal: fc.signal }).then(() => {
- ok(false, "Fetch should not return a resolved promise");
- }, e => {
- is(e.name, "AbortError", "We have an abort error");
- }).then(next);
-}
-
-function testFetchAndAbort() {
- var fc = new FetchController();
-
- var p = fetch('slow.sjs', { signal: fc.signal });
- fc.abort();
-
- p.then(() => {
- ok(false, "Fetch should not return a resolved promise");
- }, e => {
- is(e.name, "AbortError", "We have an abort error");
- }).then(next);
-}
-
-function testWorkerAbortedFetch() {
- var w = new Worker('worker_fetch_controller.js');
- w.onmessage = function(e) {
- ok(e.data, "Abort + Fetch works in workers");
- next();
- }
- w.postMessage('testWorkerAbortedFetch');
-}
-
-function testWorkerFetchAndAbort() {
- var w = new Worker('worker_fetch_controller.js');
- w.onmessage = function(e) {
- ok(e.data, "Abort + Fetch works in workers");
- next();
- }
- w.postMessage('testWorkerFetchAndAbort');
-}
-
-var steps = [
- // Simple stuff
- testWebIDL,
- testUpdateData,
-
- // Following algorithm
- testFollowingOurself,
- testFollowingOther,
- testFollowingLoop,
-
- // Event propagation
- testAbortEvent,
-
- // fetch + signaling
- testAbortedFetch,
- testFetchAndAbort,
- testWorkerAbortedFetch,
- testWorkerFetchAndAbort,
-];
-
-function next() {
- if (!steps.length) {
- parent.postMessage({ type: "finish" }, "*");
- return;
- }
-
- var step = steps.shift();
- step();
-}
-
-next();
-
-</script>