OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 int expected_status_code_; | 253 int expected_status_code_; |
254 std::string expected_response_; | 254 std::string expected_response_; |
255 }; | 255 }; |
256 | 256 |
257 TEST_F(BlobURLRequestJobTest, TestGetSimpleDataRequest) { | 257 TEST_F(BlobURLRequestJobTest, TestGetSimpleDataRequest) { |
258 blob_data_->AppendData(kTestData1); | 258 blob_data_->AppendData(kTestData1); |
259 TestSuccessNonrangeRequest(kTestData1, arraysize(kTestData1) - 1); | 259 TestSuccessNonrangeRequest(kTestData1, arraysize(kTestData1) - 1); |
260 } | 260 } |
261 | 261 |
262 TEST_F(BlobURLRequestJobTest, TestGetSimpleFileRequest) { | 262 TEST_F(BlobURLRequestJobTest, TestGetSimpleFileRequest) { |
263 blob_data_->AppendFile(temp_file1_, 0, -1, base::Time()); | 263 blob_data_->AppendFile(temp_file1_, 0, kuint64max, base::Time()); |
264 TestSuccessNonrangeRequest(kTestFileData1, arraysize(kTestFileData1) - 1); | 264 TestSuccessNonrangeRequest(kTestFileData1, arraysize(kTestFileData1) - 1); |
265 } | 265 } |
266 | 266 |
267 TEST_F(BlobURLRequestJobTest, TestGetLargeFileRequest) { | 267 TEST_F(BlobURLRequestJobTest, TestGetLargeFileRequest) { |
268 base::FilePath large_temp_file = | 268 base::FilePath large_temp_file = |
269 temp_dir_.path().AppendASCII("LargeBlob.dat"); | 269 temp_dir_.path().AppendASCII("LargeBlob.dat"); |
270 std::string large_data; | 270 std::string large_data; |
271 large_data.reserve(kBufferSize * 5); | 271 large_data.reserve(kBufferSize * 5); |
272 for (int i = 0; i < kBufferSize * 5; ++i) | 272 for (int i = 0; i < kBufferSize * 5; ++i) |
273 large_data.append(1, static_cast<char>(i % 256)); | 273 large_data.append(1, static_cast<char>(i % 256)); |
274 ASSERT_EQ(static_cast<int>(large_data.size()), | 274 ASSERT_EQ(static_cast<int>(large_data.size()), |
275 base::WriteFile(large_temp_file, large_data.data(), | 275 base::WriteFile(large_temp_file, large_data.data(), |
276 large_data.size())); | 276 large_data.size())); |
277 blob_data_->AppendFile(large_temp_file, 0, -1, base::Time()); | 277 blob_data_->AppendFile(large_temp_file, 0, kuint64max, base::Time()); |
278 TestSuccessNonrangeRequest(large_data, large_data.size()); | 278 TestSuccessNonrangeRequest(large_data, large_data.size()); |
279 } | 279 } |
280 | 280 |
281 TEST_F(BlobURLRequestJobTest, TestGetNonExistentFileRequest) { | 281 TEST_F(BlobURLRequestJobTest, TestGetNonExistentFileRequest) { |
282 base::FilePath non_existent_file = | 282 base::FilePath non_existent_file = |
283 temp_file1_.InsertBeforeExtension(FILE_PATH_LITERAL("-na")); | 283 temp_file1_.InsertBeforeExtension(FILE_PATH_LITERAL("-na")); |
284 blob_data_->AppendFile(non_existent_file, 0, -1, base::Time()); | 284 blob_data_->AppendFile(non_existent_file, 0, kuint64max, base::Time()); |
285 TestErrorRequest(404); | 285 TestErrorRequest(404); |
286 } | 286 } |
287 | 287 |
288 TEST_F(BlobURLRequestJobTest, TestGetChangedFileRequest) { | 288 TEST_F(BlobURLRequestJobTest, TestGetChangedFileRequest) { |
289 base::Time old_time = | 289 base::Time old_time = |
290 temp_file_modification_time1_ - base::TimeDelta::FromSeconds(10); | 290 temp_file_modification_time1_ - base::TimeDelta::FromSeconds(10); |
291 blob_data_->AppendFile(temp_file1_, 0, 3, old_time); | 291 blob_data_->AppendFile(temp_file1_, 0, 3, old_time); |
292 TestErrorRequest(404); | 292 TestErrorRequest(404); |
293 } | 293 } |
294 | 294 |
295 TEST_F(BlobURLRequestJobTest, TestGetSlicedFileRequest) { | 295 TEST_F(BlobURLRequestJobTest, TestGetSlicedFileRequest) { |
296 blob_data_->AppendFile(temp_file1_, 2, 4, temp_file_modification_time1_); | 296 blob_data_->AppendFile(temp_file1_, 2, 4, temp_file_modification_time1_); |
297 std::string result(kTestFileData1 + 2, 4); | 297 std::string result(kTestFileData1 + 2, 4); |
298 TestSuccessNonrangeRequest(result, 4); | 298 TestSuccessNonrangeRequest(result, 4); |
299 } | 299 } |
300 | 300 |
301 TEST_F(BlobURLRequestJobTest, TestGetSimpleFileSystemFileRequest) { | 301 TEST_F(BlobURLRequestJobTest, TestGetSimpleFileSystemFileRequest) { |
302 SetUpFileSystem(); | 302 SetUpFileSystem(); |
303 blob_data_->AppendFileSystemFile(temp_file_system_file1_, 0, -1, | 303 blob_data_->AppendFileSystemFile(temp_file_system_file1_, 0, kuint64max, |
304 base::Time()); | 304 base::Time()); |
305 TestSuccessNonrangeRequest(kTestFileSystemFileData1, | 305 TestSuccessNonrangeRequest(kTestFileSystemFileData1, |
306 arraysize(kTestFileSystemFileData1) - 1); | 306 arraysize(kTestFileSystemFileData1) - 1); |
307 } | 307 } |
308 | 308 |
309 TEST_F(BlobURLRequestJobTest, TestGetLargeFileSystemFileRequest) { | 309 TEST_F(BlobURLRequestJobTest, TestGetLargeFileSystemFileRequest) { |
310 SetUpFileSystem(); | 310 SetUpFileSystem(); |
311 std::string large_data; | 311 std::string large_data; |
312 large_data.reserve(kBufferSize * 5); | 312 large_data.reserve(kBufferSize * 5); |
313 for (int i = 0; i < kBufferSize * 5; ++i) | 313 for (int i = 0; i < kBufferSize * 5; ++i) |
314 large_data.append(1, static_cast<char>(i % 256)); | 314 large_data.append(1, static_cast<char>(i % 256)); |
315 | 315 |
316 const char kFilename[] = "LargeBlob.dat"; | 316 const char kFilename[] = "LargeBlob.dat"; |
317 WriteFileSystemFile(kFilename, large_data.data(), large_data.size(), NULL); | 317 WriteFileSystemFile(kFilename, large_data.data(), large_data.size(), NULL); |
318 | 318 |
319 blob_data_->AppendFileSystemFile(GetFileSystemURL(kFilename), 0, -1, | 319 blob_data_->AppendFileSystemFile(GetFileSystemURL(kFilename), 0, kuint64max, |
320 base::Time()); | 320 base::Time()); |
321 TestSuccessNonrangeRequest(large_data, large_data.size()); | 321 TestSuccessNonrangeRequest(large_data, large_data.size()); |
322 } | 322 } |
323 | 323 |
324 TEST_F(BlobURLRequestJobTest, TestGetNonExistentFileSystemFileRequest) { | 324 TEST_F(BlobURLRequestJobTest, TestGetNonExistentFileSystemFileRequest) { |
325 SetUpFileSystem(); | 325 SetUpFileSystem(); |
326 GURL non_existent_file = GetFileSystemURL("non-existent.dat"); | 326 GURL non_existent_file = GetFileSystemURL("non-existent.dat"); |
327 blob_data_->AppendFileSystemFile(non_existent_file, 0, -1, base::Time()); | 327 blob_data_->AppendFileSystemFile(non_existent_file, 0, kuint64max, |
| 328 base::Time()); |
328 TestErrorRequest(404); | 329 TestErrorRequest(404); |
329 } | 330 } |
330 | 331 |
331 TEST_F(BlobURLRequestJobTest, TestGetChangedFileSystemFileRequest) { | 332 TEST_F(BlobURLRequestJobTest, TestGetChangedFileSystemFileRequest) { |
332 SetUpFileSystem(); | 333 SetUpFileSystem(); |
333 base::Time old_time = | 334 base::Time old_time = |
334 temp_file_system_file_modification_time1_ - | 335 temp_file_system_file_modification_time1_ - |
335 base::TimeDelta::FromSeconds(10); | 336 base::TimeDelta::FromSeconds(10); |
336 blob_data_->AppendFileSystemFile(temp_file_system_file1_, 0, 3, old_time); | 337 blob_data_->AppendFileSystemFile(temp_file_system_file1_, 0, 3, old_time); |
337 TestErrorRequest(404); | 338 TestErrorRequest(404); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 EXPECT_TRUE(request_->response_headers()->GetMimeType(&content_type)); | 408 EXPECT_TRUE(request_->response_headers()->GetMimeType(&content_type)); |
408 EXPECT_EQ(kTestContentType, content_type); | 409 EXPECT_EQ(kTestContentType, content_type); |
409 void* iter = NULL; | 410 void* iter = NULL; |
410 std::string content_disposition; | 411 std::string content_disposition; |
411 EXPECT_TRUE(request_->response_headers()->EnumerateHeader( | 412 EXPECT_TRUE(request_->response_headers()->EnumerateHeader( |
412 &iter, "Content-Disposition", &content_disposition)); | 413 &iter, "Content-Disposition", &content_disposition)); |
413 EXPECT_EQ(kTestContentDisposition, content_disposition); | 414 EXPECT_EQ(kTestContentDisposition, content_disposition); |
414 } | 415 } |
415 | 416 |
416 } // namespace content | 417 } // namespace content |
OLD | NEW |