| 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 <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 int64 GetFileSizeOnDisk(const char* test_file_path) { | 96 int64 GetFileSizeOnDisk(const char* test_file_path) { |
| 97 // There might be in-flight flush/write. | 97 // There might be in-flight flush/write. |
| 98 base::MessageLoop::current()->PostTask( | 98 base::MessageLoop::current()->PostTask( |
| 99 FROM_HERE, base::Bind(&base::DoNothing)); | 99 FROM_HERE, base::Bind(&base::DoNothing)); |
| 100 base::RunLoop().RunUntilIdle(); | 100 base::RunLoop().RunUntilIdle(); |
| 101 | 101 |
| 102 FileSystemURL url = GetFileSystemURL(test_file_path); | 102 FileSystemURL url = GetFileSystemURL(test_file_path); |
| 103 base::File::Info file_info; | 103 base::File::Info file_info; |
| 104 EXPECT_EQ(base::File::FILE_OK, | 104 EXPECT_EQ(base::File::FILE_OK, |
| 105 AsyncFileTestHelper::GetMetadata( | 105 AsyncFileTestHelper::GetMetadata( |
| 106 file_system_context_, url, &file_info)); | 106 file_system_context_.get(), url, &file_info)); |
| 107 return file_info.size; | 107 return file_info.size; |
| 108 } | 108 } |
| 109 | 109 |
| 110 FileSystemURL GetFileSystemURL(const char* file_name) const { | 110 FileSystemURL GetFileSystemURL(const char* file_name) const { |
| 111 return file_system_context_->CreateCrackedFileSystemURL( | 111 return file_system_context_->CreateCrackedFileSystemURL( |
| 112 kOrigin, kFileSystemType, base::FilePath().FromUTF8Unsafe(file_name)); | 112 kOrigin, kFileSystemType, base::FilePath().FromUTF8Unsafe(file_name)); |
| 113 } | 113 } |
| 114 | 114 |
| 115 FileWriterDelegate* CreateWriterDelegate( | 115 FileWriterDelegate* CreateWriterDelegate( |
| 116 const char* test_file_path, | 116 const char* test_file_path, |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 }; | 242 }; |
| 243 | 243 |
| 244 } // namespace (anonymous) | 244 } // namespace (anonymous) |
| 245 | 245 |
| 246 void FileWriterDelegateTest::SetUp() { | 246 void FileWriterDelegateTest::SetUp() { |
| 247 ASSERT_TRUE(dir_.CreateUniqueTempDir()); | 247 ASSERT_TRUE(dir_.CreateUniqueTempDir()); |
| 248 | 248 |
| 249 file_system_context_ = CreateFileSystemContextForTesting( | 249 file_system_context_ = CreateFileSystemContextForTesting( |
| 250 NULL, dir_.path()); | 250 NULL, dir_.path()); |
| 251 ASSERT_EQ(base::File::FILE_OK, | 251 ASSERT_EQ(base::File::FILE_OK, |
| 252 AsyncFileTestHelper::CreateFile( | 252 AsyncFileTestHelper::CreateFile(file_system_context_.get(), |
| 253 file_system_context_, GetFileSystemURL("test"))); | 253 GetFileSystemURL("test"))); |
| 254 job_factory_.reset(new BlobURLRequestJobFactory(&content_)); | 254 job_factory_.reset(new BlobURLRequestJobFactory(&content_)); |
| 255 empty_context_.set_job_factory(job_factory_.get()); | 255 empty_context_.set_job_factory(job_factory_.get()); |
| 256 } | 256 } |
| 257 | 257 |
| 258 void FileWriterDelegateTest::TearDown() { | 258 void FileWriterDelegateTest::TearDown() { |
| 259 file_system_context_ = NULL; | 259 file_system_context_ = NULL; |
| 260 base::RunLoop().RunUntilIdle(); | 260 base::RunLoop().RunUntilIdle(); |
| 261 } | 261 } |
| 262 | 262 |
| 263 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) { | 263 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) { |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 EXPECT_EQ(kAllowedGrowth, result.bytes_written()); | 340 EXPECT_EQ(kAllowedGrowth, result.bytes_written()); |
| 341 EXPECT_EQ(base::File::FILE_OK, result.status()); | 341 EXPECT_EQ(base::File::FILE_OK, result.status()); |
| 342 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); | 342 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); |
| 343 } | 343 } |
| 344 | 344 |
| 345 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimitConcurrent) { | 345 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimitConcurrent) { |
| 346 scoped_ptr<FileWriterDelegate> file_writer_delegate2; | 346 scoped_ptr<FileWriterDelegate> file_writer_delegate2; |
| 347 scoped_ptr<net::URLRequest> request2; | 347 scoped_ptr<net::URLRequest> request2; |
| 348 | 348 |
| 349 ASSERT_EQ(base::File::FILE_OK, | 349 ASSERT_EQ(base::File::FILE_OK, |
| 350 AsyncFileTestHelper::CreateFile( | 350 AsyncFileTestHelper::CreateFile(file_system_context_.get(), |
| 351 file_system_context_, GetFileSystemURL("test2"))); | 351 GetFileSystemURL("test2"))); |
| 352 | 352 |
| 353 const GURL kBlobURL("blob:nolimitconcurrent"); | 353 const GURL kBlobURL("blob:nolimitconcurrent"); |
| 354 const GURL kBlobURL2("blob:nolimitconcurrent2"); | 354 const GURL kBlobURL2("blob:nolimitconcurrent2"); |
| 355 content_ = kData; | 355 content_ = kData; |
| 356 | 356 |
| 357 PrepareForWrite("test", kBlobURL, 0, kint64max); | 357 PrepareForWrite("test", kBlobURL, 0, kint64max); |
| 358 | 358 |
| 359 // Credate another FileWriterDelegate for concurrent write. | 359 // Credate another FileWriterDelegate for concurrent write. |
| 360 file_writer_delegate2.reset(CreateWriterDelegate("test2", 0, kint64max)); | 360 file_writer_delegate2.reset(CreateWriterDelegate("test2", 0, kint64max)); |
| 361 request2 = empty_context_.CreateRequest( | 361 request2 = empty_context_.CreateRequest( |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 file_writer_delegate_.reset(); | 477 file_writer_delegate_.reset(); |
| 478 | 478 |
| 479 EXPECT_EQ(pre_write_usage + allowed_growth, usage()); | 479 EXPECT_EQ(pre_write_usage + allowed_growth, usage()); |
| 480 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); | 480 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); |
| 481 EXPECT_EQ(kOverlap + allowed_growth, result.bytes_written()); | 481 EXPECT_EQ(kOverlap + allowed_growth, result.bytes_written()); |
| 482 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status()); | 482 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status()); |
| 483 } | 483 } |
| 484 } | 484 } |
| 485 | 485 |
| 486 } // namespace content | 486 } // namespace content |
| OLD | NEW |