diff options
Diffstat (limited to 'dom/tests/mochitest/fetch/file_fetch_controller.html')
-rw-r--r-- | dom/tests/mochitest/fetch/file_fetch_controller.html | 161 |
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> |