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

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

Issue 1043213003: Remove redundant serviceworker/cache-* tests (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Re-add fetch-status.php, used by fetch tests in sibling dir Created 5 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 importScripts('worker-testharness.js');
2 importScripts('/resources/testharness-helpers.js');
3
4 var test_url = 'https://example.com/foo';
5
6 // Construct a generic Request object. The URL is |test_url|. All other fields
7 // are defaults.
8 function new_test_request() {
9 return new Request(test_url);
10 }
11
12 // Construct a generic Response object.
13 function new_test_response() {
14 return new Response('Hello world!', { status: 200 });
15 }
16
17 cache_test(function(cache) {
18 return assert_promise_rejects(
19 cache.delete(),
20 new TypeError(),
21 'Cache.delete should reject with a TypeError when called with no ' +
22 'arguments.');
23 }, 'Cache.delete with no arguments');
24
25 cache_test(function(cache) {
26 return cache.put(new_test_request(), new_test_response())
27 .then(function() {
28 return cache.delete(test_url);
29 })
30 .then(function(result) {
31 assert_true(result,
32 'Cache.delete should resolve with "true" if an entry ' +
33 'was successfully deleted.');
34 })
35 .then(function() {
36 assert_promise_rejects(
37 cache.match(test_url),
38 'NotFoundError',
39 'Cache.delete should remove matching entries from cache.');
40 });
41 }, 'Cache.delete called with a string URL');
42
43 cache_test(function(cache) {
44 var request = new Request(test_url, { method: 'POST', body: 'Abc' });
45 return cache.put(request.clone(), new_test_response())
46 .then(function() {
47 return cache.delete(request);
48 })
49 .then(function(result) {
50 assert_true(result,
51 'Cache.delete should resolve with "true" if an entry ' +
52 'was successfully deleted.');
53 assert_false(request.bodyUsed,
54 'Cache.delete should not consume request body.');
55 });
56 }, 'Cache.delete called with a Request object');
57
58 cache_test(function(cache) {
59 var request = new Request(test_url, { method: 'POST', body: 'Abc' });
60 return cache.put(request.clone(), new_test_response())
61 .then(function() {
62 return request.text();
63 })
64 .then(function() {
65 assert_true(request.bodyUsed,
66 '[https://fetch.spec.whatwg.org/#body-mixin] ' +
67 'Request.bodyUsed should be true after text() method ' +
68 'resolves.');
69 })
70 .then(function() {
71 return cache.delete(request);
72 })
73 .then(function(result) {
74 assert_true(result,
75 'Cache.delete should resolve with "true" if an entry ' +
76 'was successfully deleted.');
77 });
78 }, 'Cache.delete with a Request object containing used body');
79
80 cache_test(function(cache) {
81 return cache.delete(test_url)
82 .then(function(result) {
83 assert_false(result,
84 'Cache.delete should resolve with "false" if there ' +
85 'are no matching entries.');
86 });
87 }, 'Cache.delete with a non-existent entry');
88
89 var cache_entries = {
90 a: {
91 request: new Request('http://example.com/abc'),
92 response: new Response('')
93 },
94
95 b: {
96 request: new Request('http://example.com/b'),
97 response: new Response('')
98 },
99
100 a_with_query: {
101 request: new Request('http://example.com/abc?q=r'),
102 response: new Response('')
103 }
104 };
105
106 function prepopulated_cache_test(test_function, description) {
107 cache_test(function(cache) {
108 return Promise.all(Object.keys(cache_entries).map(function(k) {
109 return cache.put(cache_entries[k].request.clone(),
110 cache_entries[k].response.clone());
111 }))
112 .then(function() {
113 return test_function(cache);
114 });
115 }, description);
116 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698