| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| 11 #include "storage/browser/blob/blob_async_transport_request_builder.h" | 11 #include "storage/browser/blob/blob_async_transport_request_builder.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 13 | 13 |
| 14 namespace storage { | 14 namespace storage { |
| 15 namespace { | 15 namespace { |
| 16 | 16 |
| 17 const char kNewUUID[] = "newUUID"; | 17 const char kNewUUID[] = "newUUID"; |
| 18 const base::FilePath kFuturePopulatingFilePath = base::FilePath::FromUTF8Unsafe( | |
| 19 std::string(BlobDataBuilder::kAppendFutureFileTemporaryFileName)); | |
| 20 const char kFakeBlobUUID[] = "fakeBlob"; | 18 const char kFakeBlobUUID[] = "fakeBlob"; |
| 21 | 19 |
| 22 void AddMemoryItem(size_t length, std::vector<DataElement>* out) { | 20 void AddMemoryItem(size_t length, std::vector<DataElement>* out) { |
| 23 DataElement bytes; | 21 DataElement bytes; |
| 24 bytes.SetToBytesDescription(length); | 22 bytes.SetToBytesDescription(length); |
| 25 out->push_back(bytes); | 23 out->push_back(bytes); |
| 26 } | 24 } |
| 27 | 25 |
| 28 void AddShortcutMemoryItem(size_t length, std::vector<DataElement>* out) { | 26 void AddShortcutMemoryItem(size_t length, std::vector<DataElement>* out) { |
| 29 DataElement bytes; | 27 DataElement bytes; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 EXPECT_EQ(1u, strategy.requests().size()); | 78 EXPECT_EQ(1u, strategy.requests().size()); |
| 81 | 79 |
| 82 auto& memory_item_request = strategy.requests().at(0); | 80 auto& memory_item_request = strategy.requests().at(0); |
| 83 EXPECT_EQ(0u, memory_item_request.browser_item_index); | 81 EXPECT_EQ(0u, memory_item_request.browser_item_index); |
| 84 EXPECT_EQ(0u, memory_item_request.browser_item_offset); | 82 EXPECT_EQ(0u, memory_item_request.browser_item_offset); |
| 85 EXPECT_EQ( | 83 EXPECT_EQ( |
| 86 BlobItemBytesRequest::CreateFileRequest(0u, 0u, 0ull, 305ull, 0u, 0ull), | 84 BlobItemBytesRequest::CreateFileRequest(0u, 0u, 0ull, 305ull, 0u, 0ull), |
| 87 memory_item_request.message); | 85 memory_item_request.message); |
| 88 | 86 |
| 89 BlobDataBuilder expected_builder(kNewUUID); | 87 BlobDataBuilder expected_builder(kNewUUID); |
| 90 expected_builder.AppendFile(kFuturePopulatingFilePath, 0, 305, | 88 expected_builder.AppendFutureFile(0, 305, 0); |
| 91 base::Time::FromDoubleT(0)); | |
| 92 EXPECT_EQ(expected_builder, builder); | 89 EXPECT_EQ(expected_builder, builder); |
| 93 } | 90 } |
| 94 | 91 |
| 95 TEST(BlobAsyncTransportRequestBuilderTest, TestLargeBlockToFiles) { | 92 TEST(BlobAsyncTransportRequestBuilderTest, TestLargeBlockToFiles) { |
| 96 BlobAsyncTransportRequestBuilder strategy; | 93 BlobAsyncTransportRequestBuilder strategy; |
| 97 BlobDataBuilder builder(kNewUUID); | 94 BlobDataBuilder builder(kNewUUID); |
| 98 std::vector<DataElement> infos; | 95 std::vector<DataElement> infos; |
| 99 | 96 |
| 100 AddMemoryItem(1000, &infos); | 97 AddMemoryItem(1000, &infos); |
| 101 strategy.InitializeForFileRequests(400, // max_file_size | 98 strategy.InitializeForFileRequests(400, // max_file_size |
| (...skipping 22 matching lines...) Expand all Loading... |
| 124 memory_item_request.message); | 121 memory_item_request.message); |
| 125 | 122 |
| 126 memory_item_request = strategy.requests().at(2); | 123 memory_item_request = strategy.requests().at(2); |
| 127 EXPECT_EQ(2u, memory_item_request.browser_item_index); | 124 EXPECT_EQ(2u, memory_item_request.browser_item_index); |
| 128 EXPECT_EQ(0u, memory_item_request.browser_item_offset); | 125 EXPECT_EQ(0u, memory_item_request.browser_item_offset); |
| 129 EXPECT_EQ( | 126 EXPECT_EQ( |
| 130 BlobItemBytesRequest::CreateFileRequest(2u, 0u, 800ull, 200ull, 2u, 0ull), | 127 BlobItemBytesRequest::CreateFileRequest(2u, 0u, 800ull, 200ull, 2u, 0ull), |
| 131 memory_item_request.message); | 128 memory_item_request.message); |
| 132 | 129 |
| 133 BlobDataBuilder expected_builder(kNewUUID); | 130 BlobDataBuilder expected_builder(kNewUUID); |
| 134 expected_builder.AppendFile(kFuturePopulatingFilePath, 0, 400, | 131 expected_builder.AppendFutureFile(0, 400, 0); |
| 135 base::Time::FromDoubleT(0)); | 132 expected_builder.AppendFutureFile(0, 400, 1); |
| 136 expected_builder.AppendFile(kFuturePopulatingFilePath, 0, 400, | 133 expected_builder.AppendFutureFile(0, 200, 2); |
| 137 base::Time::FromDoubleT(0)); | |
| 138 expected_builder.AppendFile(kFuturePopulatingFilePath, 0, 200, | |
| 139 base::Time::FromDoubleT(0)); | |
| 140 EXPECT_EQ(expected_builder, builder); | 134 EXPECT_EQ(expected_builder, builder); |
| 141 } | 135 } |
| 142 | 136 |
| 143 TEST(BlobAsyncTransportRequestBuilderTest, | 137 TEST(BlobAsyncTransportRequestBuilderTest, |
| 144 TestLargeBlocksConsolidatingInFiles) { | 138 TestLargeBlocksConsolidatingInFiles) { |
| 145 BlobAsyncTransportRequestBuilder strategy; | 139 BlobAsyncTransportRequestBuilder strategy; |
| 146 BlobDataBuilder builder(kNewUUID); | 140 BlobDataBuilder builder(kNewUUID); |
| 147 std::vector<DataElement> infos; | 141 std::vector<DataElement> infos; |
| 148 | 142 |
| 149 // We should have 3 storage items for the memory, two files, 400 each. | 143 // We should have 3 storage items for the memory, two files, 400 each. |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 // We still populate future data, as the strategy assumes we will be | 341 // We still populate future data, as the strategy assumes we will be |
| 348 // requesting the data. | 342 // requesting the data. |
| 349 BlobDataBuilder expected_builder(kNewUUID); | 343 BlobDataBuilder expected_builder(kNewUUID); |
| 350 expected_builder.AppendFutureData(10); | 344 expected_builder.AppendFutureData(10); |
| 351 expected_builder.AppendBlob(kFakeBlobUUID); | 345 expected_builder.AppendBlob(kFakeBlobUUID); |
| 352 expected_builder.AppendFutureData(80); | 346 expected_builder.AppendFutureData(80); |
| 353 EXPECT_EQ(expected_builder, builder); | 347 EXPECT_EQ(expected_builder, builder); |
| 354 } | 348 } |
| 355 } // namespace | 349 } // namespace |
| 356 } // namespace storage | 350 } // namespace storage |
| OLD | NEW |