| 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);
|
|
|