Index: net/http/mock_http_cache.h |
diff --git a/net/http/mock_http_cache.h b/net/http/mock_http_cache.h |
index 6cb0e50f56287db00afc8a118f937810e1af684a..cf5fd47667d50dfab0f68c42b0c5c25ab7aff165 100644 |
--- a/net/http/mock_http_cache.h |
+++ b/net/http/mock_http_cache.h |
@@ -18,11 +18,12 @@ |
//----------------------------------------------------------------------------- |
// Mock disk cache (a very basic memory cache implementation). |
+class MockDiskCache; |
+ |
class MockDiskEntry : public disk_cache::Entry, |
public base::RefCounted<MockDiskEntry> { |
public: |
- MockDiskEntry(); |
- explicit MockDiskEntry(const std::string& key); |
+ MockDiskEntry(MockDiskCache* backend, const std::string& key); |
bool is_doomed() const { return doomed_; } |
@@ -53,6 +54,8 @@ class MockDiskEntry : public disk_cache::Entry, |
// Fail most subsequent requests. |
void set_fail_requests() { fail_requests_ = true; } |
+ void set_fail_sparse_requests() { fail_sparse_requests_ = true; } |
+ |
// If |value| is true, don't deliver any completion callbacks until called |
// again with |value| set to false. Caution: remember to enable callbacks |
// again or all subsequent tests will fail. |
@@ -85,10 +88,12 @@ class MockDiskEntry : public disk_cache::Entry, |
bool doomed_; |
bool sparse_; |
bool fail_requests_; |
+ bool fail_sparse_requests_; |
bool busy_; |
bool delayed_; |
static bool cancel_; |
static bool ignore_callbacks_; |
+ MockDiskCache* backend_; |
}; |
class MockDiskCache : public disk_cache::Backend { |
@@ -125,6 +130,10 @@ class MockDiskCache : public disk_cache::Backend { |
// Returns number of times a cache entry was successfully created. |
int create_count() const { return create_count_; } |
+ // Returns the number of operations attempted that are specific to range |
+ // requests. |
+ int sparse_count() const { return sparse_count_; } |
+ |
// Fail any subsequent CreateEntry and OpenEntry. |
void set_fail_requests() { fail_requests_ = true; } |
@@ -134,6 +143,11 @@ class MockDiskCache : public disk_cache::Backend { |
// Makes sure that CreateEntry is not called twice for a given key. |
void set_double_create_check(bool value) { double_create_check_ = value; } |
+ // Makes all requests for data ranges to fail as not implemented. |
+ void set_fail_sparse_requests() { fail_sparse_requests_ = true; } |
+ |
+ void NotifySparseIO() { sparse_count_++; } |
+ |
void ReleaseAll(); |
private: |
@@ -144,9 +158,11 @@ class MockDiskCache : public disk_cache::Backend { |
EntryMap entries_; |
int open_count_; |
int create_count_; |
+ int sparse_count_; |
bool fail_requests_; |
bool soft_failures_; |
bool double_create_check_; |
+ bool fail_sparse_requests_; |
}; |
class MockBackendFactory : public net::HttpCache::BackendFactory { |