From c7e4c1b91cda6d1ace3a2d0c8c98ad25c1a41bcb Mon Sep 17 00:00:00 2001 From: Ben Kelly Date: Thu, 6 Aug 2015 18:12:14 -0700 Subject: [PATCH] Bug 983301 Add a test for FetchEvent.respondWith(5). r=bz --- dom/workers/test/serviceworkers/fetch/fetch_tests.js | 5 +++++ dom/workers/test/serviceworkers/fetch_event_worker.js | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/dom/workers/test/serviceworkers/fetch/fetch_tests.js b/dom/workers/test/serviceworkers/fetch/fetch_tests.js index 53b80f7aa31d..7583a99b76e3 100644 --- a/dom/workers/test/serviceworkers/fetch/fetch_tests.js +++ b/dom/workers/test/serviceworkers/fetch/fetch_tests.js @@ -96,6 +96,11 @@ fetchXHR('nonresponse2.txt', null, function(xhr) { finish(); }); +fetchXHR('nonpromise.txt', null, function(xhr) { + my_ok(xhr.status == 0, "load should not complete"); + finish(); +}); + fetchXHR('headers.txt', function(xhr) { my_ok(xhr.status == 200, "load should be successful"); my_ok(xhr.responseText == "1", "request header checks should have passed"); diff --git a/dom/workers/test/serviceworkers/fetch_event_worker.js b/dom/workers/test/serviceworkers/fetch_event_worker.js index a735e558f03c..4d219b9ac954 100644 --- a/dom/workers/test/serviceworkers/fetch_event_worker.js +++ b/dom/workers/test/serviceworkers/fetch_event_worker.js @@ -76,6 +76,17 @@ onfetch = function(ev) { ev.respondWith(Promise.resolve({})); } + else if (ev.request.url.includes("nonpromise.txt")) { + try { + // This should coerce to Promise(5) instead of throwing + ev.respondWith(5); + } catch (e) { + // test is expecting failure, so return a success if we get a thrown + // exception + ev.respondWith(new Response('respondWith(5) threw ' + e)); + } + } + else if (ev.request.url.includes("headers.txt")) { var ok = true; ok &= ev.request.headers.get("X-Test1") == "header1";