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

Side by Side Diff: LayoutTests/http/tests/serviceworker/resources/cache-match-worker.js

Issue 708703002: Service Worker: Cache.put() consumes request/response bodies (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Inline hasBody methods Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 importScripts('worker-testharness.js'); 1 importScripts('worker-testharness.js');
2 importScripts('/resources/testharness-helpers.js'); 2 importScripts('/resources/testharness-helpers.js');
3 3
4 // A set of Request/Response pairs to be used with prepopulated_cache_test(). 4 // A set of Request/Response pairs to be used with prepopulated_cache_test().
5 var simple_entries = [ 5 var simple_entries = [
6 { 6 {
7 name: 'a', 7 name: 'a',
8 request: new Request('http://example.com/a'), 8 request: new Request('http://example.com/a'),
9 response: new Response('') 9 response: new Response('')
10 }, 10 },
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 var request = new Request('http://example.com'); 503 var request = new Request('http://example.com');
504 var response; 504 var response;
505 var request_url = new URL('simple.txt', location.href).href; 505 var request_url = new URL('simple.txt', location.href).href;
506 return fetch(request_url) 506 return fetch(request_url)
507 .then(function(fetch_result) { 507 .then(function(fetch_result) {
508 response = fetch_result; 508 response = fetch_result;
509 assert_equals( 509 assert_equals(
510 response.url, request_url, 510 response.url, request_url,
511 '[https://fetch.spec.whatwg.org/#dom-response-url] ' + 511 '[https://fetch.spec.whatwg.org/#dom-response-url] ' +
512 'Reponse.url should return the URL of the response.'); 512 'Reponse.url should return the URL of the response.');
513 return cache.put(request, response); 513 return cache.put(request, response.clone());
514 }) 514 })
515 .then(function() { 515 .then(function() {
516 return cache.match(request.url); 516 return cache.match(request.url);
517 }) 517 })
518 .then(function(result) { 518 .then(function(result) {
519 assert_object_equals( 519 assert_object_equals(
520 result, response, 520 result, response,
521 'Cache.match should return a Response object that has the same ' + 521 'Cache.match should return a Response object that has the same ' +
522 'properties as the stored response.'); 522 'properties as the stored response.');
523 return cache.match(response.url); 523 return cache.match(response.url);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 // {request: <Request object>, response: <Response object>}. There's no 567 // {request: <Request object>, response: <Response object>}. There's no
568 // guarantee on the order in which entries will be added to the cache. 568 // guarantee on the order in which entries will be added to the cache.
569 // 569 //
570 // |test_function| should return a Promise that can be used with promise_test. 570 // |test_function| should return a Promise that can be used with promise_test.
571 function prepopulated_cache_test(entries, test_function, description) { 571 function prepopulated_cache_test(entries, test_function, description) {
572 cache_test(function(cache) { 572 cache_test(function(cache) {
573 var p = Promise.resolve(); 573 var p = Promise.resolve();
574 var hash = {}; 574 var hash = {};
575 entries.forEach(function(entry) { 575 entries.forEach(function(entry) {
576 p = p.then(function() { 576 p = p.then(function() {
577 return cache.put(entry.request, entry.response) 577 return cache.put(entry.request.clone(),
578 entry.response.clone())
578 .catch(function(e) { 579 .catch(function(e) {
579 assert_unreached('Test setup failed for entry ' + 580 assert_unreached('Test setup failed for entry ' +
580 entry.name + ': ' + e); 581 entry.name + ': ' + e);
581 }); 582 });
582 }); 583 });
583 hash[entry.name] = entry; 584 hash[entry.name] = entry;
584 }); 585 });
585 p = p.then(function() { 586 p = p.then(function() {
586 assert_equals(Object.keys(hash).length, entries.length); 587 assert_equals(Object.keys(hash).length, entries.length);
587 }); 588 });
588 589
589 return p.then(function() { 590 return p.then(function() {
590 return test_function(cache, hash); 591 return test_function(cache, hash);
591 }); 592 });
592 }, description); 593 }, description);
593 } 594 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698