From 0722399628d27f541b4283d45e23e71eee3d1b43 Mon Sep 17 00:00:00 2001 From: Tom Tung Date: Tue, 3 Jan 2017 14:28:37 +0000 Subject: [PATCH] Add WPT tests for blocking 206 response. r=bkelly. Upstreamed from https://bugzilla.mozilla.org/show_bug.cgi?id=1264181 --- .../cache-storage/script-tests/cache-add.js | 21 +++++++++++++++++++ .../cache-storage/script-tests/cache-put.js | 13 ++++++++++++ 2 files changed, 34 insertions(+) diff --git a/service-workers/cache-storage/script-tests/cache-add.js b/service-workers/cache-storage/script-tests/cache-add.js index c41c7bcef771d6..237ba473504c35 100644 --- a/service-workers/cache-storage/script-tests/cache-add.js +++ b/service-workers/cache-storage/script-tests/cache-add.js @@ -83,6 +83,26 @@ cache_test(function(cache) { }); }, 'Cache.add with request with null body (not consumed)'); +cache_test(function(cache, test) { + return assert_promise_rejects( + test, + new TypeError(), + cache.add('../resources/fetch-status.py?status=206'), + 'Cache.add should reject on partial response'); + }, 'Cache.add with 206 response'); + +cache_test(function(cache, test) { + var urls = ['../resources/fetch-status.py?status=206', + '../resources/fetch-status.py?status=200']; + var requests = urls.map(function(url) { + return new Request(url); + }); + return promise_rejects( + new TypeError(), + cache.addAll(requests), + 'Cache.addAll should reject with TypeError if any request fails'); + }, 'Cache.addAll with 206 response'); + cache_test(function(cache, test) { return promise_rejects( test, @@ -91,6 +111,7 @@ cache_test(function(cache, test) { 'Cache.add should reject if response is !ok'); }, 'Cache.add with request that results in a status of 404'); + cache_test(function(cache, test) { return promise_rejects( test, diff --git a/service-workers/cache-storage/script-tests/cache-put.js b/service-workers/cache-storage/script-tests/cache-put.js index 71a0e4d9c89f23..d71f725ae2ab77 100644 --- a/service-workers/cache-storage/script-tests/cache-put.js +++ b/service-workers/cache-storage/script-tests/cache-put.js @@ -102,6 +102,19 @@ cache_test(function(cache) { }); }, 'Cache.put with an empty response body'); +cache_test(function(cache) { + var request = new Request(test_url); + var response = new Response('', { + status: 206, + headers: [['Content-Type', 'text/plain']] + }); + + return assert_promise_rejects( + cache.put(request, response), + new TypeError(), + 'Cache.put should reject 206 Responses with a TypeError.'); + }, 'Cache.put with 206 response'); + cache_test(function(cache) { var test_url = new URL('../resources/fetch-status.py?status=500', location.href).href; var request = new Request(test_url);