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

Unified Diff: webkit/blob/blob_storage_controller_unittest.cc

Issue 7974011: Break large blobs into multiple ipcs during creation. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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: webkit/blob/blob_storage_controller_unittest.cc
===================================================================
--- webkit/blob/blob_storage_controller_unittest.cc (revision 102629)
+++ webkit/blob/blob_storage_controller_unittest.cc (working copy)
@@ -15,6 +15,21 @@
namespace webkit_blob {
+namespace {
+
+void RegisterBlobUrl(BlobStorageController* controller,
+ const GURL& url, const BlobData* data) {
+ controller->RegisterUnfinalizedBlobUrl(url);
+ for (std::vector<BlobData::Item>::const_iterator iter =
+ data->items().begin();
+ iter != data->items().end(); ++iter) {
+ controller->AppendBlobDataItem(url, *iter);
+ }
+ controller->FinalizeBlob(url, data->content_type());
+}
+
+}
+
TEST(BlobStorageControllerTest, RegisterBlobUrl) {
// Setup a set of blob data for testing.
base::Time time1, time2;
@@ -41,39 +56,38 @@
canonicalized_blob_data2->AppendFile(FilePath(FILE_PATH_LITERAL("File2.txt")),
0, 20, time2);
- scoped_ptr<BlobStorageController> blob_storage_controller(
- new BlobStorageController());
+ BlobStorageController blob_storage_controller;
// Test registering a blob URL referring to the blob data containing only
// data and file.
GURL blob_url1("blob://url_1");
- blob_storage_controller->RegisterBlobUrl(blob_url1, blob_data1);
+ RegisterBlobUrl(&blob_storage_controller, blob_url1, blob_data1);
BlobData* blob_data_found =
- blob_storage_controller->GetBlobDataFromUrl(blob_url1);
+ blob_storage_controller.GetBlobDataFromUrl(blob_url1);
ASSERT_TRUE(blob_data_found != NULL);
EXPECT_TRUE(*blob_data_found == *blob_data1);
// Test registering a blob URL referring to the blob data containing data,
// file and blob.
GURL blob_url2("blob://url_2");
- blob_storage_controller->RegisterBlobUrl(blob_url2, blob_data2);
+ RegisterBlobUrl(&blob_storage_controller, blob_url2, blob_data2);
- blob_data_found = blob_storage_controller->GetBlobDataFromUrl(blob_url2);
+ blob_data_found = blob_storage_controller.GetBlobDataFromUrl(blob_url2);
ASSERT_TRUE(blob_data_found != NULL);
EXPECT_TRUE(*blob_data_found == *canonicalized_blob_data2);
// Test registering a blob URL referring to existent blob URL.
GURL blob_url3("blob://url_3");
- blob_storage_controller->RegisterBlobUrlFrom(blob_url3, blob_url1);
+ blob_storage_controller.RegisterBlobUrlFrom(blob_url3, blob_url1);
- blob_data_found = blob_storage_controller->GetBlobDataFromUrl(blob_url3);
+ blob_data_found = blob_storage_controller.GetBlobDataFromUrl(blob_url3);
ASSERT_TRUE(blob_data_found != NULL);
EXPECT_TRUE(*blob_data_found == *blob_data1);
// Test unregistering a blob URL.
- blob_storage_controller->UnregisterBlobUrl(blob_url3);
- blob_data_found = blob_storage_controller->GetBlobDataFromUrl(blob_url3);
+ blob_storage_controller.UnregisterBlobUrl(blob_url3);
+ blob_data_found = blob_storage_controller.GetBlobDataFromUrl(blob_url3);
EXPECT_TRUE(!blob_data_found);
}
@@ -83,26 +97,24 @@
base::Time::FromString("Tue, 15 Nov 1994, 12:45:26 GMT", &time1);
base::Time::FromString("Mon, 14 Nov 1994, 11:30:49 GMT", &time2);
- scoped_ptr<BlobStorageController> blob_storage_controller(
- new BlobStorageController());
-
+ BlobStorageController blob_storage_controller;
scoped_refptr<BlobData> blob_data(new BlobData());
GURL blob_url0("blob://url_0");
- blob_storage_controller->RegisterBlobUrl(blob_url0, blob_data);
+ RegisterBlobUrl(&blob_storage_controller, blob_url0, blob_data);
blob_data->AppendData("BlobData");
blob_data->AppendFile(
FilePath(FILE_PATH_LITERAL("BlobFile.txt")), 0, 20, time1);
GURL blob_url1("blob://url_1");
- blob_storage_controller->RegisterBlobUrl(blob_url1, blob_data);
+ RegisterBlobUrl(&blob_storage_controller, blob_url1, blob_data);
GURL blob_url2("blob://url_2");
- blob_storage_controller->RegisterBlobUrlFrom(blob_url2, blob_url1);
+ blob_storage_controller.RegisterBlobUrlFrom(blob_url2, blob_url1);
GURL blob_url3("blob://url_3");
- blob_storage_controller->RegisterBlobUrlFrom(blob_url3, blob_url2);
+ blob_storage_controller.RegisterBlobUrlFrom(blob_url3, blob_url2);
// Setup upload data elements for comparison.
UploadData::Element blob_element1, blob_element2;
@@ -132,7 +144,7 @@
upload_element2.file_range_length(),
upload_element2.expected_file_modification_time());
- blob_storage_controller->ResolveBlobReferencesInUploadData(upload_data.get());
+ blob_storage_controller.ResolveBlobReferencesInUploadData(upload_data.get());
ASSERT_EQ(upload_data->elements()->size(), 2U);
EXPECT_TRUE(upload_data->elements()->at(0) == upload_element1);
EXPECT_TRUE(upload_data->elements()->at(1) == upload_element2);
@@ -141,14 +153,14 @@
upload_data = new UploadData();
upload_data->AppendBlob(blob_url0);
- blob_storage_controller->ResolveBlobReferencesInUploadData(upload_data.get());
+ blob_storage_controller.ResolveBlobReferencesInUploadData(upload_data.get());
ASSERT_EQ(upload_data->elements()->size(), 0U);
// Test having only one blob reference.
upload_data = new UploadData();
upload_data->AppendBlob(blob_url1);
- blob_storage_controller->ResolveBlobReferencesInUploadData(upload_data.get());
+ blob_storage_controller.ResolveBlobReferencesInUploadData(upload_data.get());
ASSERT_EQ(upload_data->elements()->size(), 2U);
EXPECT_TRUE(upload_data->elements()->at(0) == blob_element1);
EXPECT_TRUE(upload_data->elements()->at(1) == blob_element2);
@@ -165,7 +177,7 @@
upload_element2.file_range_length(),
upload_element2.expected_file_modification_time());
- blob_storage_controller->ResolveBlobReferencesInUploadData(upload_data.get());
+ blob_storage_controller.ResolveBlobReferencesInUploadData(upload_data.get());
ASSERT_EQ(upload_data->elements()->size(), 4U);
EXPECT_TRUE(upload_data->elements()->at(0) == blob_element1);
EXPECT_TRUE(upload_data->elements()->at(1) == blob_element2);
@@ -184,7 +196,7 @@
upload_element2.expected_file_modification_time());
upload_data->AppendBlob(blob_url1);
- blob_storage_controller->ResolveBlobReferencesInUploadData(upload_data.get());
+ blob_storage_controller.ResolveBlobReferencesInUploadData(upload_data.get());
ASSERT_EQ(upload_data->elements()->size(), 4U);
EXPECT_TRUE(upload_data->elements()->at(0) == upload_element1);
EXPECT_TRUE(upload_data->elements()->at(1) == upload_element2);
@@ -203,7 +215,7 @@
upload_element2.file_range_length(),
upload_element2.expected_file_modification_time());
- blob_storage_controller->ResolveBlobReferencesInUploadData(upload_data.get());
+ blob_storage_controller.ResolveBlobReferencesInUploadData(upload_data.get());
ASSERT_EQ(upload_data->elements()->size(), 4U);
EXPECT_TRUE(upload_data->elements()->at(0) == upload_element1);
EXPECT_TRUE(upload_data->elements()->at(1) == blob_element1);
@@ -224,7 +236,7 @@
upload_element2.file_range_length(),
upload_element2.expected_file_modification_time());
- blob_storage_controller->ResolveBlobReferencesInUploadData(upload_data.get());
+ blob_storage_controller.ResolveBlobReferencesInUploadData(upload_data.get());
ASSERT_EQ(upload_data->elements()->size(), 8U);
EXPECT_TRUE(upload_data->elements()->at(0) == blob_element1);
EXPECT_TRUE(upload_data->elements()->at(1) == blob_element2);

Powered by Google App Engine
This is Rietveld 408576698