Index: content/browser/service_worker/service_worker_cache_unittest.cc |
diff --git a/content/browser/service_worker/service_worker_cache_unittest.cc b/content/browser/service_worker/service_worker_cache_unittest.cc |
index ceeb431e83c120d5afc3d0efce6fadc42c029b5f..38afc772f6109eea3fb17409e57274b8e4fb02f3 100644 |
--- a/content/browser/service_worker/service_worker_cache_unittest.cc |
+++ b/content/browser/service_worker/service_worker_cache_unittest.cc |
@@ -232,6 +232,7 @@ class ServiceWorkerCacheTest : public testing::Test { |
callback_error_ = error; |
callback_response_ = response.Pass(); |
+ callback_response_data_.reset(); |
if (error == ServiceWorkerCache::ErrorTypeOK && |
!callback_response_->blob_uuid.empty()) { |
callback_response_data_ = body_handle.Pass(); |
@@ -363,6 +364,20 @@ TEST_F(ServiceWorkerCacheTest, PutBodyDropBlobRef) { |
EXPECT_EQ(ServiceWorkerCache::ErrorTypeOK, callback_error_); |
} |
+TEST_P(ServiceWorkerCacheTestP, PutReplace) { |
+ EXPECT_TRUE(Put(body_request_, no_body_response_)); |
+ EXPECT_TRUE(Match(body_request_)); |
+ EXPECT_FALSE(callback_response_data_); |
+ |
+ EXPECT_TRUE(Put(body_request_, body_response_)); |
+ EXPECT_TRUE(Match(body_request_)); |
+ EXPECT_TRUE(callback_response_data_); |
+ |
+ EXPECT_TRUE(Put(body_request_, no_body_response_)); |
+ EXPECT_TRUE(Match(body_request_)); |
+ EXPECT_FALSE(callback_response_data_); |
+} |
+ |
TEST_P(ServiceWorkerCacheTestP, MatchNoBody) { |
EXPECT_TRUE(Put(no_body_request_, no_body_response_)); |
EXPECT_TRUE(Match(no_body_request_)); |