Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Unified Diff: LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js

Issue 304233017: ServiceWorker: Add layout tests for fetch event response (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: patch for landing Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js
diff --git a/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js b/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js
new file mode 100644
index 0000000000000000000000000000000000000000..bd7db5ec53635d274f79faabed4d262659caf1e4
--- /dev/null
+++ b/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js
@@ -0,0 +1,36 @@
+function handleHelloWorld(event) {
+ event.respondWith(new Response(new Blob(["hello, world"])));
+}
+
+function handleNullBody(event) {
+ event.respondWith(new Response(null));
+}
+
+function handleReject(event) {
+ event.respondWith(new Promise(function(resolve, reject) {
+ reject('rejected!');
+ }));
+}
+
+self.addEventListener('fetch', function(event) {
+ var url = event.request.url;
+ var handlers = [
+ { pattern: 'helloworld', fn: handleHelloWorld },
+ { pattern: '?ignore', fn: function() {} },
+ { pattern: '?null', fn: handleNullBody },
+ { pattern: '?reject', fn: handleReject }
+ ];
+
+ var handler = null;
+ for (var i = 0; i < handlers.length; ++i) {
+ if (url.indexOf(handlers[i].pattern) != -1) {
+ handler = handlers[i];
+ break;
+ }
+ }
+
+ if (handler)
+ handler.fn(event);
+ else
+ event.respondWith(new Response(new Blob(['Service Worker got an unexpected request: ' + url])));
+});

Powered by Google App Engine
This is Rietveld 408576698