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

Unified Diff: services/url_response_disk_cache/url_response_disk_cache_apptest.cc

Issue 1276073004: Offline By Default (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Add missing explicits. Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: services/url_response_disk_cache/url_response_disk_cache_apptest.cc
diff --git a/services/url_response_disk_cache/url_response_disk_cache_apptest.cc b/services/url_response_disk_cache/url_response_disk_cache_apptest.cc
index 61bf5a276a4702400af73efef129d81dacf8558d..1ef3bcda48445cd0955de4f1537059861a0c91da 100644
--- a/services/url_response_disk_cache/url_response_disk_cache_apptest.cc
+++ b/services/url_response_disk_cache/url_response_disk_cache_apptest.cc
@@ -51,7 +51,58 @@ HttpHeaderPtr RandomEtagHeader() {
} // namespace
-TEST_F(URLResponseDiskCacheAppTest, GetFile) {
+TEST_F(URLResponseDiskCacheAppTest, BaseCache) {
+ const std::string url = "http://www.example.com/1";
+
+ url_response_disk_cache_->Get(
+ url, [](URLResponsePtr url_response, Array<uint8_t> received_file_path,
+ Array<uint8_t> received_cache_dir_path) {
+ EXPECT_FALSE(url_response);
+ });
+ url_response_disk_cache_.WaitForIncomingResponse();
+
+ URLResponsePtr url_response = mojo::URLResponse::New();
+ url_response->url = "http://www.example.com/1";
+ url_response->headers.push_back(RandomEtagHeader());
+ DataPipe pipe;
+ std::string content = base::RandBytesAsString(32);
+ uint32_t num_bytes = content.size();
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WriteDataRaw(pipe.producer_handle.get(), content.c_str(),
+ &num_bytes, MOJO_WRITE_DATA_FLAG_ALL_OR_NONE));
+ ASSERT_EQ(content.size(), num_bytes);
+ pipe.producer_handle.reset();
+ url_response->body = pipe.consumer_handle.Pass();
+
+ url_response_disk_cache_->Update(url_response.Pass());
+
+ base::FilePath file;
+ base::FilePath cache_dir;
+
+ // Wait up to 1 second for the cache to be updated.
+ base::Time start = base::Time::Now();
+ while (file.empty() &&
+ ((base::Time::Now() - start) < base::TimeDelta::FromSeconds(1))) {
+ url_response_disk_cache_->Get(
+ url, [&url_response, &file, &cache_dir](
+ URLResponsePtr response, Array<uint8_t> received_file_path,
+ Array<uint8_t> received_cache_dir_path) {
+ url_response = response.Pass();
+ file = toPath(received_file_path.Pass());
+ cache_dir = toPath(received_cache_dir_path.Pass());
+ });
+ url_response_disk_cache_.WaitForIncomingResponse();
+ }
+
+ EXPECT_TRUE(url_response);
+ EXPECT_FALSE(file.empty());
+ EXPECT_EQ(url, url_response->url);
+ std::string received_content;
+ ASSERT_TRUE(base::ReadFileToString(file, &received_content));
+ EXPECT_EQ(content, received_content);
+}
+
+TEST_F(URLResponseDiskCacheAppTest, UpdateAndGet) {
URLResponsePtr url_response = mojo::URLResponse::New();
url_response->url = "http://www.example.com/1";
url_response->headers.push_back(RandomEtagHeader());
@@ -66,7 +117,7 @@ TEST_F(URLResponseDiskCacheAppTest, GetFile) {
url_response->body = pipe.consumer_handle.Pass();
base::FilePath file;
base::FilePath cache_dir;
- url_response_disk_cache_->GetFile(
+ url_response_disk_cache_->UpdateAndGet(
url_response.Pass(),
[&file, &cache_dir](Array<uint8_t> received_file_path,
Array<uint8_t> received_cache_dir_path) {
@@ -80,7 +131,7 @@ TEST_F(URLResponseDiskCacheAppTest, GetFile) {
EXPECT_EQ(content, received_content);
}
-TEST_F(URLResponseDiskCacheAppTest, GetExtractedContent) {
+TEST_F(URLResponseDiskCacheAppTest, UpdateAndGetExtracted) {
URLResponsePtr url_response = mojo::URLResponse::New();
url_response->url = "http://www.example.com/2";
url_response->headers.push_back(RandomEtagHeader());
@@ -95,7 +146,7 @@ TEST_F(URLResponseDiskCacheAppTest, GetExtractedContent) {
url_response->body = pipe.consumer_handle.Pass();
base::FilePath extracted_dir;
base::FilePath cache_dir;
- url_response_disk_cache_->GetExtractedContent(
+ url_response_disk_cache_->UpdateAndGetExtracted(
url_response.Pass(),
[&extracted_dir, &cache_dir](Array<uint8_t> received_extracted_dir,
Array<uint8_t> received_cache_dir_path) {
@@ -134,7 +185,7 @@ TEST_F(URLResponseDiskCacheAppTest, CacheTest) {
url_response->body = pipe1.consumer_handle.Pass();
base::FilePath file;
base::FilePath cache_dir;
- url_response_disk_cache_->GetFile(
+ url_response_disk_cache_->UpdateAndGet(
url_response.Pass(),
[&file, &cache_dir](Array<uint8_t> received_file_path,
Array<uint8_t> received_cache_dir_path) {
@@ -171,7 +222,7 @@ TEST_F(URLResponseDiskCacheAppTest, CacheTest) {
ASSERT_EQ(new_content.size(), num_bytes);
pipe2.producer_handle.reset();
url_response->body = pipe2.consumer_handle.Pass();
- url_response_disk_cache_->GetFile(
+ url_response_disk_cache_->UpdateAndGet(
url_response.Pass(),
[&file, &cache_dir](Array<uint8_t> received_file_path,
Array<uint8_t> received_cache_dir_path) {
@@ -202,7 +253,7 @@ TEST_F(URLResponseDiskCacheAppTest, CacheTest) {
ASSERT_EQ(new_content.size(), num_bytes);
pipe3.producer_handle.reset();
url_response->body = pipe3.consumer_handle.Pass();
- url_response_disk_cache_->GetFile(
+ url_response_disk_cache_->UpdateAndGet(
url_response.Pass(),
[&file, &cache_dir](Array<uint8_t> received_file_path,
Array<uint8_t> received_cache_dir_path) {
@@ -231,7 +282,7 @@ TEST_F(URLResponseDiskCacheAppTest, CacheTest) {
ASSERT_EQ(new_content.size(), num_bytes);
pipe4.producer_handle.reset();
url_response->body = pipe4.consumer_handle.Pass();
- url_response_disk_cache_->GetFile(
+ url_response_disk_cache_->UpdateAndGet(
url_response.Pass(),
[&file, &cache_dir](Array<uint8_t> received_file_path,
Array<uint8_t> received_cache_dir_path) {
@@ -261,7 +312,7 @@ TEST_F(URLResponseDiskCacheAppTest, CacheTest) {
ASSERT_EQ(new_content.size(), num_bytes);
pipe5.producer_handle.reset();
url_response->body = pipe5.consumer_handle.Pass();
- url_response_disk_cache_->GetFile(
+ url_response_disk_cache_->UpdateAndGet(
url_response.Pass(),
[&file, &cache_dir](Array<uint8_t> received_file_path,
Array<uint8_t> received_cache_dir_path) {

Powered by Google App Engine
This is Rietveld 408576698