| 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 <map> | 5 #include <map> |
| 6 #include <queue> | 6 #include <queue> |
| 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/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 using fileapi::test::TestCaseRecord; | 39 using fileapi::test::TestCaseRecord; |
| 40 | 40 |
| 41 namespace content { | 41 namespace content { |
| 42 | 42 |
| 43 typedef fileapi::FileSystemOperation::FileEntryList FileEntryList; | 43 typedef fileapi::FileSystemOperation::FileEntryList FileEntryList; |
| 44 | 44 |
| 45 namespace { | 45 namespace { |
| 46 | 46 |
| 47 void ExpectOk(const GURL& origin_url, | 47 void ExpectOk(const GURL& origin_url, |
| 48 const std::string& name, | 48 const std::string& name, |
| 49 base::PlatformFileError error) { | 49 base::File::Error error) { |
| 50 ASSERT_EQ(base::PLATFORM_FILE_OK, error); | 50 ASSERT_EQ(base::File::FILE_OK, error); |
| 51 } | 51 } |
| 52 | 52 |
| 53 class TestValidatorFactory : public fileapi::CopyOrMoveFileValidatorFactory { | 53 class TestValidatorFactory : public fileapi::CopyOrMoveFileValidatorFactory { |
| 54 public: | 54 public: |
| 55 // A factory that creates validators that accept everything or nothing. | 55 // A factory that creates validators that accept everything or nothing. |
| 56 TestValidatorFactory() {} | 56 TestValidatorFactory() {} |
| 57 virtual ~TestValidatorFactory() {} | 57 virtual ~TestValidatorFactory() {} |
| 58 | 58 |
| 59 virtual fileapi::CopyOrMoveFileValidator* CreateCopyOrMoveFileValidator( | 59 virtual fileapi::CopyOrMoveFileValidator* CreateCopyOrMoveFileValidator( |
| 60 const FileSystemURL& /*src_url*/, | 60 const FileSystemURL& /*src_url*/, |
| 61 const base::FilePath& /*platform_path*/) OVERRIDE { | 61 const base::FilePath& /*platform_path*/) OVERRIDE { |
| 62 // Move arg management to TestValidator? | 62 // Move arg management to TestValidator? |
| 63 return new TestValidator(true, true, std::string("2")); | 63 return new TestValidator(true, true, std::string("2")); |
| 64 } | 64 } |
| 65 | 65 |
| 66 private: | 66 private: |
| 67 class TestValidator : public fileapi::CopyOrMoveFileValidator { | 67 class TestValidator : public fileapi::CopyOrMoveFileValidator { |
| 68 public: | 68 public: |
| 69 explicit TestValidator(bool pre_copy_valid, | 69 explicit TestValidator(bool pre_copy_valid, |
| 70 bool post_copy_valid, | 70 bool post_copy_valid, |
| 71 const std::string& reject_string) | 71 const std::string& reject_string) |
| 72 : result_(pre_copy_valid ? base::PLATFORM_FILE_OK | 72 : result_(pre_copy_valid ? base::File::FILE_OK : |
| 73 : base::PLATFORM_FILE_ERROR_SECURITY), | 73 base::File::FILE_ERROR_SECURITY), |
| 74 write_result_(post_copy_valid ? base::PLATFORM_FILE_OK | 74 write_result_(post_copy_valid ? base::File::FILE_OK : |
| 75 : base::PLATFORM_FILE_ERROR_SECURITY), | 75 base::File::FILE_ERROR_SECURITY), |
| 76 reject_string_(reject_string) { | 76 reject_string_(reject_string) { |
| 77 } | 77 } |
| 78 virtual ~TestValidator() {} | 78 virtual ~TestValidator() {} |
| 79 | 79 |
| 80 virtual void StartPreWriteValidation( | 80 virtual void StartPreWriteValidation( |
| 81 const ResultCallback& result_callback) OVERRIDE { | 81 const ResultCallback& result_callback) OVERRIDE { |
| 82 // Post the result since a real validator must do work asynchronously. | 82 // Post the result since a real validator must do work asynchronously. |
| 83 base::MessageLoop::current()->PostTask( | 83 base::MessageLoop::current()->PostTask( |
| 84 FROM_HERE, base::Bind(result_callback, result_)); | 84 FROM_HERE, base::Bind(result_callback, result_)); |
| 85 } | 85 } |
| 86 | 86 |
| 87 virtual void StartPostWriteValidation( | 87 virtual void StartPostWriteValidation( |
| 88 const base::FilePath& dest_platform_path, | 88 const base::FilePath& dest_platform_path, |
| 89 const ResultCallback& result_callback) OVERRIDE { | 89 const ResultCallback& result_callback) OVERRIDE { |
| 90 base::PlatformFileError result = write_result_; | 90 base::File::Error result = write_result_; |
| 91 std::string unsafe = dest_platform_path.BaseName().AsUTF8Unsafe(); | 91 std::string unsafe = dest_platform_path.BaseName().AsUTF8Unsafe(); |
| 92 if (unsafe.find(reject_string_) != std::string::npos) { | 92 if (unsafe.find(reject_string_) != std::string::npos) { |
| 93 result = base::PLATFORM_FILE_ERROR_SECURITY; | 93 result = base::File::FILE_ERROR_SECURITY; |
| 94 } | 94 } |
| 95 // Post the result since a real validator must do work asynchronously. | 95 // Post the result since a real validator must do work asynchronously. |
| 96 base::MessageLoop::current()->PostTask( | 96 base::MessageLoop::current()->PostTask( |
| 97 FROM_HERE, base::Bind(result_callback, result)); | 97 FROM_HERE, base::Bind(result_callback, result)); |
| 98 } | 98 } |
| 99 | 99 |
| 100 private: | 100 private: |
| 101 base::PlatformFileError result_; | 101 base::File::Error result_; |
| 102 base::PlatformFileError write_result_; | 102 base::File::Error write_result_; |
| 103 std::string reject_string_; | 103 std::string reject_string_; |
| 104 | 104 |
| 105 DISALLOW_COPY_AND_ASSIGN(TestValidator); | 105 DISALLOW_COPY_AND_ASSIGN(TestValidator); |
| 106 }; | 106 }; |
| 107 }; | 107 }; |
| 108 | 108 |
| 109 // Records CopyProgressCallback invocations. | 109 // Records CopyProgressCallback invocations. |
| 110 struct ProgressRecord { | 110 struct ProgressRecord { |
| 111 fileapi::FileSystemOperation::CopyProgressType type; | 111 fileapi::FileSystemOperation::CopyProgressType type; |
| 112 FileSystemURL source_url; | 112 FileSystemURL source_url; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 126 record.size = size; | 126 record.size = size; |
| 127 records->push_back(record); | 127 records->push_back(record); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void RecordFileProgressCallback(std::vector<int64>* records, | 130 void RecordFileProgressCallback(std::vector<int64>* records, |
| 131 int64 progress) { | 131 int64 progress) { |
| 132 records->push_back(progress); | 132 records->push_back(progress); |
| 133 } | 133 } |
| 134 | 134 |
| 135 void AssignAndQuit(base::RunLoop* run_loop, | 135 void AssignAndQuit(base::RunLoop* run_loop, |
| 136 base::PlatformFileError* result_out, | 136 base::File::Error* result_out, |
| 137 base::PlatformFileError result) { | 137 base::File::Error result) { |
| 138 *result_out = result; | 138 *result_out = result; |
| 139 run_loop->Quit(); | 139 run_loop->Quit(); |
| 140 } | 140 } |
| 141 | 141 |
| 142 class ScopedThreadStopper { | 142 class ScopedThreadStopper { |
| 143 public: | 143 public: |
| 144 ScopedThreadStopper(base::Thread* thread) : thread_(thread) { | 144 ScopedThreadStopper(base::Thread* thread) : thread_(thread) { |
| 145 } | 145 } |
| 146 | 146 |
| 147 ~ScopedThreadStopper() { | 147 ~ScopedThreadStopper() { |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 FileSystemURL SourceURL(const std::string& path) { | 253 FileSystemURL SourceURL(const std::string& path) { |
| 254 return file_system_context_->CreateCrackedFileSystemURL( | 254 return file_system_context_->CreateCrackedFileSystemURL( |
| 255 origin_, src_type_, base::FilePath::FromUTF8Unsafe(path)); | 255 origin_, src_type_, base::FilePath::FromUTF8Unsafe(path)); |
| 256 } | 256 } |
| 257 | 257 |
| 258 FileSystemURL DestURL(const std::string& path) { | 258 FileSystemURL DestURL(const std::string& path) { |
| 259 return file_system_context_->CreateCrackedFileSystemURL( | 259 return file_system_context_->CreateCrackedFileSystemURL( |
| 260 origin_, dest_type_, base::FilePath::FromUTF8Unsafe(path)); | 260 origin_, dest_type_, base::FilePath::FromUTF8Unsafe(path)); |
| 261 } | 261 } |
| 262 | 262 |
| 263 base::PlatformFileError Copy(const FileSystemURL& src, | 263 base::File::Error Copy(const FileSystemURL& src, |
| 264 const FileSystemURL& dest) { | 264 const FileSystemURL& dest) { |
| 265 return AsyncFileTestHelper::Copy(file_system_context_.get(), src, dest); | 265 return AsyncFileTestHelper::Copy(file_system_context_.get(), src, dest); |
| 266 } | 266 } |
| 267 | 267 |
| 268 base::PlatformFileError CopyWithProgress( | 268 base::File::Error CopyWithProgress( |
| 269 const FileSystemURL& src, | 269 const FileSystemURL& src, |
| 270 const FileSystemURL& dest, | 270 const FileSystemURL& dest, |
| 271 const AsyncFileTestHelper::CopyProgressCallback& progress_callback) { | 271 const AsyncFileTestHelper::CopyProgressCallback& progress_callback) { |
| 272 return AsyncFileTestHelper::CopyWithProgress( | 272 return AsyncFileTestHelper::CopyWithProgress( |
| 273 file_system_context_.get(), src, dest, progress_callback); | 273 file_system_context_.get(), src, dest, progress_callback); |
| 274 } | 274 } |
| 275 | 275 |
| 276 base::PlatformFileError Move(const FileSystemURL& src, | 276 base::File::Error Move(const FileSystemURL& src, |
| 277 const FileSystemURL& dest) { | 277 const FileSystemURL& dest) { |
| 278 return AsyncFileTestHelper::Move(file_system_context_.get(), src, dest); | 278 return AsyncFileTestHelper::Move(file_system_context_.get(), src, dest); |
| 279 } | 279 } |
| 280 | 280 |
| 281 base::PlatformFileError SetUpTestCaseFiles( | 281 base::File::Error SetUpTestCaseFiles( |
| 282 const FileSystemURL& root, | 282 const FileSystemURL& root, |
| 283 const TestCaseRecord* const test_cases, | 283 const TestCaseRecord* const test_cases, |
| 284 size_t test_case_size) { | 284 size_t test_case_size) { |
| 285 base::PlatformFileError result = base::PLATFORM_FILE_ERROR_FAILED; | 285 base::File::Error result = base::File::FILE_ERROR_FAILED; |
| 286 for (size_t i = 0; i < test_case_size; ++i) { | 286 for (size_t i = 0; i < test_case_size; ++i) { |
| 287 const TestCaseRecord& test_case = test_cases[i]; | 287 const TestCaseRecord& test_case = test_cases[i]; |
| 288 FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL( | 288 FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL( |
| 289 root.origin(), | 289 root.origin(), |
| 290 root.mount_type(), | 290 root.mount_type(), |
| 291 root.virtual_path().Append(test_case.path)); | 291 root.virtual_path().Append(test_case.path)); |
| 292 if (test_case.is_directory) | 292 if (test_case.is_directory) |
| 293 result = CreateDirectory(url); | 293 result = CreateDirectory(url); |
| 294 else | 294 else |
| 295 result = CreateFile(url, test_case.data_file_size); | 295 result = CreateFile(url, test_case.data_file_size); |
| 296 EXPECT_EQ(base::PLATFORM_FILE_OK, result) << url.DebugString(); | 296 EXPECT_EQ(base::File::FILE_OK, result) << url.DebugString(); |
| 297 if (result != base::PLATFORM_FILE_OK) | 297 if (result != base::File::FILE_OK) |
| 298 return result; | 298 return result; |
| 299 } | 299 } |
| 300 return result; | 300 return result; |
| 301 } | 301 } |
| 302 | 302 |
| 303 void VerifyTestCaseFiles( | 303 void VerifyTestCaseFiles( |
| 304 const FileSystemURL& root, | 304 const FileSystemURL& root, |
| 305 const TestCaseRecord* const test_cases, | 305 const TestCaseRecord* const test_cases, |
| 306 size_t test_case_size) { | 306 size_t test_case_size) { |
| 307 std::map<base::FilePath, const TestCaseRecord*> test_case_map; | 307 std::map<base::FilePath, const TestCaseRecord*> test_case_map; |
| 308 for (size_t i = 0; i < test_case_size; ++i) { | 308 for (size_t i = 0; i < test_case_size; ++i) { |
| 309 test_case_map[ | 309 test_case_map[ |
| 310 base::FilePath(test_cases[i].path).NormalizePathSeparators()] = | 310 base::FilePath(test_cases[i].path).NormalizePathSeparators()] = |
| 311 &test_cases[i]; | 311 &test_cases[i]; |
| 312 } | 312 } |
| 313 | 313 |
| 314 std::queue<FileSystemURL> directories; | 314 std::queue<FileSystemURL> directories; |
| 315 FileEntryList entries; | 315 FileEntryList entries; |
| 316 directories.push(root); | 316 directories.push(root); |
| 317 while (!directories.empty()) { | 317 while (!directories.empty()) { |
| 318 FileSystemURL dir = directories.front(); | 318 FileSystemURL dir = directories.front(); |
| 319 directories.pop(); | 319 directories.pop(); |
| 320 ASSERT_EQ(base::PLATFORM_FILE_OK, ReadDirectory(dir, &entries)); | 320 ASSERT_EQ(base::File::FILE_OK, ReadDirectory(dir, &entries)); |
| 321 for (size_t i = 0; i < entries.size(); ++i) { | 321 for (size_t i = 0; i < entries.size(); ++i) { |
| 322 FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL( | 322 FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL( |
| 323 dir.origin(), | 323 dir.origin(), |
| 324 dir.mount_type(), | 324 dir.mount_type(), |
| 325 dir.virtual_path().Append(entries[i].name)); | 325 dir.virtual_path().Append(entries[i].name)); |
| 326 base::FilePath relative; | 326 base::FilePath relative; |
| 327 root.virtual_path().AppendRelativePath(url.virtual_path(), &relative); | 327 root.virtual_path().AppendRelativePath(url.virtual_path(), &relative); |
| 328 relative = relative.NormalizePathSeparators(); | 328 relative = relative.NormalizePathSeparators(); |
| 329 ASSERT_TRUE(ContainsKey(test_case_map, relative)); | 329 ASSERT_TRUE(ContainsKey(test_case_map, relative)); |
| 330 if (entries[i].is_directory) { | 330 if (entries[i].is_directory) { |
| 331 EXPECT_TRUE(test_case_map[relative]->is_directory); | 331 EXPECT_TRUE(test_case_map[relative]->is_directory); |
| 332 directories.push(url); | 332 directories.push(url); |
| 333 } else { | 333 } else { |
| 334 EXPECT_FALSE(test_case_map[relative]->is_directory); | 334 EXPECT_FALSE(test_case_map[relative]->is_directory); |
| 335 EXPECT_TRUE(FileExists(url, test_case_map[relative]->data_file_size)); | 335 EXPECT_TRUE(FileExists(url, test_case_map[relative]->data_file_size)); |
| 336 } | 336 } |
| 337 test_case_map.erase(relative); | 337 test_case_map.erase(relative); |
| 338 } | 338 } |
| 339 } | 339 } |
| 340 EXPECT_TRUE(test_case_map.empty()); | 340 EXPECT_TRUE(test_case_map.empty()); |
| 341 std::map<base::FilePath, const TestCaseRecord*>::const_iterator it; | 341 std::map<base::FilePath, const TestCaseRecord*>::const_iterator it; |
| 342 for (it = test_case_map.begin(); it != test_case_map.end(); ++it) { | 342 for (it = test_case_map.begin(); it != test_case_map.end(); ++it) { |
| 343 LOG(ERROR) << "Extra entry: " << it->first.LossyDisplayName(); | 343 LOG(ERROR) << "Extra entry: " << it->first.LossyDisplayName(); |
| 344 } | 344 } |
| 345 } | 345 } |
| 346 | 346 |
| 347 base::PlatformFileError ReadDirectory(const FileSystemURL& url, | 347 base::File::Error ReadDirectory(const FileSystemURL& url, |
| 348 FileEntryList* entries) { | 348 FileEntryList* entries) { |
| 349 return AsyncFileTestHelper::ReadDirectory( | 349 return AsyncFileTestHelper::ReadDirectory( |
| 350 file_system_context_.get(), url, entries); | 350 file_system_context_.get(), url, entries); |
| 351 } | 351 } |
| 352 | 352 |
| 353 base::PlatformFileError CreateDirectory(const FileSystemURL& url) { | 353 base::File::Error CreateDirectory(const FileSystemURL& url) { |
| 354 return AsyncFileTestHelper::CreateDirectory(file_system_context_.get(), | 354 return AsyncFileTestHelper::CreateDirectory(file_system_context_.get(), |
| 355 url); | 355 url); |
| 356 } | 356 } |
| 357 | 357 |
| 358 base::PlatformFileError CreateFile(const FileSystemURL& url, size_t size) { | 358 base::File::Error CreateFile(const FileSystemURL& url, size_t size) { |
| 359 base::PlatformFileError result = | 359 base::File::Error result = |
| 360 AsyncFileTestHelper::CreateFile(file_system_context_.get(), url); | 360 AsyncFileTestHelper::CreateFile(file_system_context_.get(), url); |
| 361 if (result != base::PLATFORM_FILE_OK) | 361 if (result != base::File::FILE_OK) |
| 362 return result; | 362 return result; |
| 363 return AsyncFileTestHelper::TruncateFile( | 363 return AsyncFileTestHelper::TruncateFile( |
| 364 file_system_context_.get(), url, size); | 364 file_system_context_.get(), url, size); |
| 365 } | 365 } |
| 366 | 366 |
| 367 bool FileExists(const FileSystemURL& url, int64 expected_size) { | 367 bool FileExists(const FileSystemURL& url, int64 expected_size) { |
| 368 return AsyncFileTestHelper::FileExists( | 368 return AsyncFileTestHelper::FileExists( |
| 369 file_system_context_.get(), url, expected_size); | 369 file_system_context_.get(), url, expected_size); |
| 370 } | 370 } |
| 371 | 371 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 401 fileapi::kFileSystemTypeTemporary, | 401 fileapi::kFileSystemTypeTemporary, |
| 402 fileapi::kFileSystemTypePersistent); | 402 fileapi::kFileSystemTypePersistent); |
| 403 helper.SetUp(); | 403 helper.SetUp(); |
| 404 | 404 |
| 405 FileSystemURL src = helper.SourceURL("a"); | 405 FileSystemURL src = helper.SourceURL("a"); |
| 406 FileSystemURL dest = helper.DestURL("b"); | 406 FileSystemURL dest = helper.DestURL("b"); |
| 407 int64 src_initial_usage = helper.GetSourceUsage(); | 407 int64 src_initial_usage = helper.GetSourceUsage(); |
| 408 int64 dest_initial_usage = helper.GetDestUsage(); | 408 int64 dest_initial_usage = helper.GetDestUsage(); |
| 409 | 409 |
| 410 // Set up a source file. | 410 // Set up a source file. |
| 411 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateFile(src, 10)); | 411 ASSERT_EQ(base::File::FILE_OK, helper.CreateFile(src, 10)); |
| 412 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; | 412 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; |
| 413 | 413 |
| 414 // Copy it. | 414 // Copy it. |
| 415 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.Copy(src, dest)); | 415 ASSERT_EQ(base::File::FILE_OK, helper.Copy(src, dest)); |
| 416 | 416 |
| 417 // Verify. | 417 // Verify. |
| 418 ASSERT_TRUE(helper.FileExists(src, 10)); | 418 ASSERT_TRUE(helper.FileExists(src, 10)); |
| 419 ASSERT_TRUE(helper.FileExists(dest, 10)); | 419 ASSERT_TRUE(helper.FileExists(dest, 10)); |
| 420 | 420 |
| 421 int64 src_new_usage = helper.GetSourceUsage(); | 421 int64 src_new_usage = helper.GetSourceUsage(); |
| 422 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage); | 422 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage); |
| 423 | 423 |
| 424 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; | 424 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; |
| 425 ASSERT_EQ(src_increase, dest_increase); | 425 ASSERT_EQ(src_increase, dest_increase); |
| 426 } | 426 } |
| 427 | 427 |
| 428 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleFile) { | 428 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleFile) { |
| 429 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), | 429 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), |
| 430 fileapi::kFileSystemTypeTemporary, | 430 fileapi::kFileSystemTypeTemporary, |
| 431 fileapi::kFileSystemTypePersistent); | 431 fileapi::kFileSystemTypePersistent); |
| 432 helper.SetUp(); | 432 helper.SetUp(); |
| 433 | 433 |
| 434 FileSystemURL src = helper.SourceURL("a"); | 434 FileSystemURL src = helper.SourceURL("a"); |
| 435 FileSystemURL dest = helper.DestURL("b"); | 435 FileSystemURL dest = helper.DestURL("b"); |
| 436 int64 src_initial_usage = helper.GetSourceUsage(); | 436 int64 src_initial_usage = helper.GetSourceUsage(); |
| 437 int64 dest_initial_usage = helper.GetDestUsage(); | 437 int64 dest_initial_usage = helper.GetDestUsage(); |
| 438 | 438 |
| 439 // Set up a source file. | 439 // Set up a source file. |
| 440 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateFile(src, 10)); | 440 ASSERT_EQ(base::File::FILE_OK, helper.CreateFile(src, 10)); |
| 441 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; | 441 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; |
| 442 | 442 |
| 443 // Move it. | 443 // Move it. |
| 444 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.Move(src, dest)); | 444 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest)); |
| 445 | 445 |
| 446 // Verify. | 446 // Verify. |
| 447 ASSERT_FALSE(helper.FileExists(src, AsyncFileTestHelper::kDontCheckSize)); | 447 ASSERT_FALSE(helper.FileExists(src, AsyncFileTestHelper::kDontCheckSize)); |
| 448 ASSERT_TRUE(helper.FileExists(dest, 10)); | 448 ASSERT_TRUE(helper.FileExists(dest, 10)); |
| 449 | 449 |
| 450 int64 src_new_usage = helper.GetSourceUsage(); | 450 int64 src_new_usage = helper.GetSourceUsage(); |
| 451 ASSERT_EQ(src_initial_usage, src_new_usage); | 451 ASSERT_EQ(src_initial_usage, src_new_usage); |
| 452 | 452 |
| 453 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; | 453 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; |
| 454 ASSERT_EQ(src_increase, dest_increase); | 454 ASSERT_EQ(src_increase, dest_increase); |
| 455 } | 455 } |
| 456 | 456 |
| 457 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleDirectory) { | 457 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleDirectory) { |
| 458 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), | 458 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), |
| 459 fileapi::kFileSystemTypeTemporary, | 459 fileapi::kFileSystemTypeTemporary, |
| 460 fileapi::kFileSystemTypePersistent); | 460 fileapi::kFileSystemTypePersistent); |
| 461 helper.SetUp(); | 461 helper.SetUp(); |
| 462 | 462 |
| 463 FileSystemURL src = helper.SourceURL("a"); | 463 FileSystemURL src = helper.SourceURL("a"); |
| 464 FileSystemURL dest = helper.DestURL("b"); | 464 FileSystemURL dest = helper.DestURL("b"); |
| 465 int64 src_initial_usage = helper.GetSourceUsage(); | 465 int64 src_initial_usage = helper.GetSourceUsage(); |
| 466 int64 dest_initial_usage = helper.GetDestUsage(); | 466 int64 dest_initial_usage = helper.GetDestUsage(); |
| 467 | 467 |
| 468 // Set up a source directory. | 468 // Set up a source directory. |
| 469 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateDirectory(src)); | 469 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); |
| 470 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; | 470 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; |
| 471 | 471 |
| 472 // Copy it. | 472 // Copy it. |
| 473 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.Copy(src, dest)); | 473 ASSERT_EQ(base::File::FILE_OK, helper.Copy(src, dest)); |
| 474 | 474 |
| 475 // Verify. | 475 // Verify. |
| 476 ASSERT_TRUE(helper.DirectoryExists(src)); | 476 ASSERT_TRUE(helper.DirectoryExists(src)); |
| 477 ASSERT_TRUE(helper.DirectoryExists(dest)); | 477 ASSERT_TRUE(helper.DirectoryExists(dest)); |
| 478 | 478 |
| 479 int64 src_new_usage = helper.GetSourceUsage(); | 479 int64 src_new_usage = helper.GetSourceUsage(); |
| 480 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage); | 480 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage); |
| 481 | 481 |
| 482 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; | 482 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; |
| 483 ASSERT_EQ(src_increase, dest_increase); | 483 ASSERT_EQ(src_increase, dest_increase); |
| 484 } | 484 } |
| 485 | 485 |
| 486 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleDirectory) { | 486 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleDirectory) { |
| 487 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), | 487 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), |
| 488 fileapi::kFileSystemTypeTemporary, | 488 fileapi::kFileSystemTypeTemporary, |
| 489 fileapi::kFileSystemTypePersistent); | 489 fileapi::kFileSystemTypePersistent); |
| 490 helper.SetUp(); | 490 helper.SetUp(); |
| 491 | 491 |
| 492 FileSystemURL src = helper.SourceURL("a"); | 492 FileSystemURL src = helper.SourceURL("a"); |
| 493 FileSystemURL dest = helper.DestURL("b"); | 493 FileSystemURL dest = helper.DestURL("b"); |
| 494 int64 src_initial_usage = helper.GetSourceUsage(); | 494 int64 src_initial_usage = helper.GetSourceUsage(); |
| 495 int64 dest_initial_usage = helper.GetDestUsage(); | 495 int64 dest_initial_usage = helper.GetDestUsage(); |
| 496 | 496 |
| 497 // Set up a source directory. | 497 // Set up a source directory. |
| 498 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateDirectory(src)); | 498 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); |
| 499 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; | 499 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; |
| 500 | 500 |
| 501 // Move it. | 501 // Move it. |
| 502 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.Move(src, dest)); | 502 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest)); |
| 503 | 503 |
| 504 // Verify. | 504 // Verify. |
| 505 ASSERT_FALSE(helper.DirectoryExists(src)); | 505 ASSERT_FALSE(helper.DirectoryExists(src)); |
| 506 ASSERT_TRUE(helper.DirectoryExists(dest)); | 506 ASSERT_TRUE(helper.DirectoryExists(dest)); |
| 507 | 507 |
| 508 int64 src_new_usage = helper.GetSourceUsage(); | 508 int64 src_new_usage = helper.GetSourceUsage(); |
| 509 ASSERT_EQ(src_initial_usage, src_new_usage); | 509 ASSERT_EQ(src_initial_usage, src_new_usage); |
| 510 | 510 |
| 511 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; | 511 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; |
| 512 ASSERT_EQ(src_increase, dest_increase); | 512 ASSERT_EQ(src_increase, dest_increase); |
| 513 } | 513 } |
| 514 | 514 |
| 515 TEST(LocalFileSystemCopyOrMoveOperationTest, CopyDirectory) { | 515 TEST(LocalFileSystemCopyOrMoveOperationTest, CopyDirectory) { |
| 516 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), | 516 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), |
| 517 fileapi::kFileSystemTypeTemporary, | 517 fileapi::kFileSystemTypeTemporary, |
| 518 fileapi::kFileSystemTypePersistent); | 518 fileapi::kFileSystemTypePersistent); |
| 519 helper.SetUp(); | 519 helper.SetUp(); |
| 520 | 520 |
| 521 FileSystemURL src = helper.SourceURL("a"); | 521 FileSystemURL src = helper.SourceURL("a"); |
| 522 FileSystemURL dest = helper.DestURL("b"); | 522 FileSystemURL dest = helper.DestURL("b"); |
| 523 int64 src_initial_usage = helper.GetSourceUsage(); | 523 int64 src_initial_usage = helper.GetSourceUsage(); |
| 524 int64 dest_initial_usage = helper.GetDestUsage(); | 524 int64 dest_initial_usage = helper.GetDestUsage(); |
| 525 | 525 |
| 526 // Set up a source directory. | 526 // Set up a source directory. |
| 527 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateDirectory(src)); | 527 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); |
| 528 ASSERT_EQ(base::PLATFORM_FILE_OK, | 528 ASSERT_EQ(base::File::FILE_OK, |
| 529 helper.SetUpTestCaseFiles(src, | 529 helper.SetUpTestCaseFiles(src, |
| 530 fileapi::test::kRegularTestCases, | 530 fileapi::test::kRegularTestCases, |
| 531 fileapi::test::kRegularTestCaseSize)); | 531 fileapi::test::kRegularTestCaseSize)); |
| 532 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; | 532 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; |
| 533 | 533 |
| 534 // Copy it. | 534 // Copy it. |
| 535 ASSERT_EQ(base::PLATFORM_FILE_OK, | 535 ASSERT_EQ(base::File::FILE_OK, |
| 536 helper.CopyWithProgress( | 536 helper.CopyWithProgress( |
| 537 src, dest, | 537 src, dest, |
| 538 AsyncFileTestHelper::CopyProgressCallback())); | 538 AsyncFileTestHelper::CopyProgressCallback())); |
| 539 | 539 |
| 540 // Verify. | 540 // Verify. |
| 541 ASSERT_TRUE(helper.DirectoryExists(src)); | 541 ASSERT_TRUE(helper.DirectoryExists(src)); |
| 542 ASSERT_TRUE(helper.DirectoryExists(dest)); | 542 ASSERT_TRUE(helper.DirectoryExists(dest)); |
| 543 | 543 |
| 544 helper.VerifyTestCaseFiles(dest, | 544 helper.VerifyTestCaseFiles(dest, |
| 545 fileapi::test::kRegularTestCases, | 545 fileapi::test::kRegularTestCases, |
| (...skipping 11 matching lines...) Expand all Loading... |
| 557 fileapi::kFileSystemTypeTemporary, | 557 fileapi::kFileSystemTypeTemporary, |
| 558 fileapi::kFileSystemTypePersistent); | 558 fileapi::kFileSystemTypePersistent); |
| 559 helper.SetUp(); | 559 helper.SetUp(); |
| 560 | 560 |
| 561 FileSystemURL src = helper.SourceURL("a"); | 561 FileSystemURL src = helper.SourceURL("a"); |
| 562 FileSystemURL dest = helper.DestURL("b"); | 562 FileSystemURL dest = helper.DestURL("b"); |
| 563 int64 src_initial_usage = helper.GetSourceUsage(); | 563 int64 src_initial_usage = helper.GetSourceUsage(); |
| 564 int64 dest_initial_usage = helper.GetDestUsage(); | 564 int64 dest_initial_usage = helper.GetDestUsage(); |
| 565 | 565 |
| 566 // Set up a source directory. | 566 // Set up a source directory. |
| 567 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateDirectory(src)); | 567 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); |
| 568 ASSERT_EQ(base::PLATFORM_FILE_OK, | 568 ASSERT_EQ(base::File::FILE_OK, |
| 569 helper.SetUpTestCaseFiles(src, | 569 helper.SetUpTestCaseFiles(src, |
| 570 fileapi::test::kRegularTestCases, | 570 fileapi::test::kRegularTestCases, |
| 571 fileapi::test::kRegularTestCaseSize)); | 571 fileapi::test::kRegularTestCaseSize)); |
| 572 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; | 572 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; |
| 573 | 573 |
| 574 // Move it. | 574 // Move it. |
| 575 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.Move(src, dest)); | 575 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest)); |
| 576 | 576 |
| 577 // Verify. | 577 // Verify. |
| 578 ASSERT_FALSE(helper.DirectoryExists(src)); | 578 ASSERT_FALSE(helper.DirectoryExists(src)); |
| 579 ASSERT_TRUE(helper.DirectoryExists(dest)); | 579 ASSERT_TRUE(helper.DirectoryExists(dest)); |
| 580 | 580 |
| 581 helper.VerifyTestCaseFiles(dest, | 581 helper.VerifyTestCaseFiles(dest, |
| 582 fileapi::test::kRegularTestCases, | 582 fileapi::test::kRegularTestCases, |
| 583 fileapi::test::kRegularTestCaseSize); | 583 fileapi::test::kRegularTestCaseSize); |
| 584 | 584 |
| 585 int64 src_new_usage = helper.GetSourceUsage(); | 585 int64 src_new_usage = helper.GetSourceUsage(); |
| 586 ASSERT_EQ(src_initial_usage, src_new_usage); | 586 ASSERT_EQ(src_initial_usage, src_new_usage); |
| 587 | 587 |
| 588 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; | 588 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; |
| 589 ASSERT_EQ(src_increase, dest_increase); | 589 ASSERT_EQ(src_increase, dest_increase); |
| 590 } | 590 } |
| 591 | 591 |
| 592 TEST(LocalFileSystemCopyOrMoveOperationTest, | 592 TEST(LocalFileSystemCopyOrMoveOperationTest, |
| 593 MoveDirectoryFailPostWriteValidation) { | 593 MoveDirectoryFailPostWriteValidation) { |
| 594 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), | 594 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), |
| 595 fileapi::kFileSystemTypeTemporary, | 595 fileapi::kFileSystemTypeTemporary, |
| 596 fileapi::kFileSystemTypeTest); | 596 fileapi::kFileSystemTypeTest); |
| 597 helper.SetUp(); | 597 helper.SetUp(); |
| 598 | 598 |
| 599 FileSystemURL src = helper.SourceURL("a"); | 599 FileSystemURL src = helper.SourceURL("a"); |
| 600 FileSystemURL dest = helper.DestURL("b"); | 600 FileSystemURL dest = helper.DestURL("b"); |
| 601 | 601 |
| 602 // Set up a source directory. | 602 // Set up a source directory. |
| 603 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateDirectory(src)); | 603 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); |
| 604 ASSERT_EQ(base::PLATFORM_FILE_OK, | 604 ASSERT_EQ(base::File::FILE_OK, |
| 605 helper.SetUpTestCaseFiles(src, | 605 helper.SetUpTestCaseFiles(src, |
| 606 fileapi::test::kRegularTestCases, | 606 fileapi::test::kRegularTestCases, |
| 607 fileapi::test::kRegularTestCaseSize)); | 607 fileapi::test::kRegularTestCaseSize)); |
| 608 | 608 |
| 609 // Move it. | 609 // Move it. |
| 610 helper.Move(src, dest); | 610 helper.Move(src, dest); |
| 611 | 611 |
| 612 // Verify. | 612 // Verify. |
| 613 ASSERT_TRUE(helper.DirectoryExists(src)); | 613 ASSERT_TRUE(helper.DirectoryExists(src)); |
| 614 ASSERT_TRUE(helper.DirectoryExists(dest)); | 614 ASSERT_TRUE(helper.DirectoryExists(dest)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 626 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleFileNoValidator) { | 626 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleFileNoValidator) { |
| 627 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), | 627 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), |
| 628 fileapi::kFileSystemTypeTemporary, | 628 fileapi::kFileSystemTypeTemporary, |
| 629 fileapi::kFileSystemTypeTest); | 629 fileapi::kFileSystemTypeTest); |
| 630 helper.SetUpNoValidator(); | 630 helper.SetUpNoValidator(); |
| 631 | 631 |
| 632 FileSystemURL src = helper.SourceURL("a"); | 632 FileSystemURL src = helper.SourceURL("a"); |
| 633 FileSystemURL dest = helper.DestURL("b"); | 633 FileSystemURL dest = helper.DestURL("b"); |
| 634 | 634 |
| 635 // Set up a source file. | 635 // Set up a source file. |
| 636 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateFile(src, 10)); | 636 ASSERT_EQ(base::File::FILE_OK, helper.CreateFile(src, 10)); |
| 637 | 637 |
| 638 // The copy attempt should fail with a security error -- getting | 638 // The copy attempt should fail with a security error -- getting |
| 639 // the factory returns a security error, and the copy operation must | 639 // the factory returns a security error, and the copy operation must |
| 640 // respect that. | 640 // respect that. |
| 641 ASSERT_EQ(base::PLATFORM_FILE_ERROR_SECURITY, helper.Copy(src, dest)); | 641 ASSERT_EQ(base::File::FILE_ERROR_SECURITY, helper.Copy(src, dest)); |
| 642 } | 642 } |
| 643 | 643 |
| 644 TEST(LocalFileSystemCopyOrMoveOperationTest, ProgressCallback) { | 644 TEST(LocalFileSystemCopyOrMoveOperationTest, ProgressCallback) { |
| 645 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), | 645 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), |
| 646 fileapi::kFileSystemTypeTemporary, | 646 fileapi::kFileSystemTypeTemporary, |
| 647 fileapi::kFileSystemTypePersistent); | 647 fileapi::kFileSystemTypePersistent); |
| 648 helper.SetUp(); | 648 helper.SetUp(); |
| 649 | 649 |
| 650 FileSystemURL src = helper.SourceURL("a"); | 650 FileSystemURL src = helper.SourceURL("a"); |
| 651 FileSystemURL dest = helper.DestURL("b"); | 651 FileSystemURL dest = helper.DestURL("b"); |
| 652 | 652 |
| 653 // Set up a source directory. | 653 // Set up a source directory. |
| 654 ASSERT_EQ(base::PLATFORM_FILE_OK, helper.CreateDirectory(src)); | 654 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); |
| 655 ASSERT_EQ(base::PLATFORM_FILE_OK, | 655 ASSERT_EQ(base::File::FILE_OK, |
| 656 helper.SetUpTestCaseFiles(src, | 656 helper.SetUpTestCaseFiles(src, |
| 657 fileapi::test::kRegularTestCases, | 657 fileapi::test::kRegularTestCases, |
| 658 fileapi::test::kRegularTestCaseSize)); | 658 fileapi::test::kRegularTestCaseSize)); |
| 659 | 659 |
| 660 std::vector<ProgressRecord> records; | 660 std::vector<ProgressRecord> records; |
| 661 ASSERT_EQ(base::PLATFORM_FILE_OK, | 661 ASSERT_EQ(base::File::FILE_OK, |
| 662 helper.CopyWithProgress(src, dest, | 662 helper.CopyWithProgress(src, dest, |
| 663 base::Bind(&RecordProgressCallback, | 663 base::Bind(&RecordProgressCallback, |
| 664 base::Unretained(&records)))); | 664 base::Unretained(&records)))); |
| 665 | 665 |
| 666 // Verify progress callback. | 666 // Verify progress callback. |
| 667 for (size_t i = 0; i < fileapi::test::kRegularTestCaseSize; ++i) { | 667 for (size_t i = 0; i < fileapi::test::kRegularTestCaseSize; ++i) { |
| 668 const TestCaseRecord& test_case = fileapi::test::kRegularTestCases[i]; | 668 const TestCaseRecord& test_case = fileapi::test::kRegularTestCases[i]; |
| 669 | 669 |
| 670 FileSystemURL src_url = helper.SourceURL( | 670 FileSystemURL src_url = helper.SourceURL( |
| 671 std::string("a/") + base::FilePath(test_case.path).AsUTF8Unsafe()); | 671 std::string("a/") + base::FilePath(test_case.path).AsUTF8Unsafe()); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 741 FileStreamWriter::CreateForLocalFile(task_runner.get(), dest_path, 0)); | 741 FileStreamWriter::CreateForLocalFile(task_runner.get(), dest_path, 0)); |
| 742 | 742 |
| 743 std::vector<int64> progress; | 743 std::vector<int64> progress; |
| 744 CopyOrMoveOperationDelegate::StreamCopyHelper helper( | 744 CopyOrMoveOperationDelegate::StreamCopyHelper helper( |
| 745 reader.Pass(), writer.Pass(), | 745 reader.Pass(), writer.Pass(), |
| 746 false, // don't need flush | 746 false, // don't need flush |
| 747 10, // buffer size | 747 10, // buffer size |
| 748 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), | 748 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), |
| 749 base::TimeDelta()); // For testing, we need all the progress. | 749 base::TimeDelta()); // For testing, we need all the progress. |
| 750 | 750 |
| 751 base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED; | 751 base::File::Error error = base::File::FILE_ERROR_FAILED; |
| 752 base::RunLoop run_loop; | 752 base::RunLoop run_loop; |
| 753 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); | 753 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); |
| 754 run_loop.Run(); | 754 run_loop.Run(); |
| 755 | 755 |
| 756 EXPECT_EQ(base::PLATFORM_FILE_OK, error); | 756 EXPECT_EQ(base::File::FILE_OK, error); |
| 757 ASSERT_EQ(5U, progress.size()); | 757 ASSERT_EQ(5U, progress.size()); |
| 758 EXPECT_EQ(0, progress[0]); | 758 EXPECT_EQ(0, progress[0]); |
| 759 EXPECT_EQ(10, progress[1]); | 759 EXPECT_EQ(10, progress[1]); |
| 760 EXPECT_EQ(20, progress[2]); | 760 EXPECT_EQ(20, progress[2]); |
| 761 EXPECT_EQ(30, progress[3]); | 761 EXPECT_EQ(30, progress[3]); |
| 762 EXPECT_EQ(36, progress[4]); | 762 EXPECT_EQ(36, progress[4]); |
| 763 | 763 |
| 764 std::string content; | 764 std::string content; |
| 765 ASSERT_TRUE(base::ReadFileToString(dest_path, &content)); | 765 ASSERT_TRUE(base::ReadFileToString(dest_path, &content)); |
| 766 EXPECT_EQ(kTestData, content); | 766 EXPECT_EQ(kTestData, content); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 799 FileStreamWriter::CreateForLocalFile(task_runner.get(), dest_path, 0)); | 799 FileStreamWriter::CreateForLocalFile(task_runner.get(), dest_path, 0)); |
| 800 | 800 |
| 801 std::vector<int64> progress; | 801 std::vector<int64> progress; |
| 802 CopyOrMoveOperationDelegate::StreamCopyHelper helper( | 802 CopyOrMoveOperationDelegate::StreamCopyHelper helper( |
| 803 reader.Pass(), writer.Pass(), | 803 reader.Pass(), writer.Pass(), |
| 804 true, // need flush | 804 true, // need flush |
| 805 10, // buffer size | 805 10, // buffer size |
| 806 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), | 806 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), |
| 807 base::TimeDelta()); // For testing, we need all the progress. | 807 base::TimeDelta()); // For testing, we need all the progress. |
| 808 | 808 |
| 809 base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED; | 809 base::File::Error error = base::File::FILE_ERROR_FAILED; |
| 810 base::RunLoop run_loop; | 810 base::RunLoop run_loop; |
| 811 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); | 811 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); |
| 812 run_loop.Run(); | 812 run_loop.Run(); |
| 813 | 813 |
| 814 EXPECT_EQ(base::PLATFORM_FILE_OK, error); | 814 EXPECT_EQ(base::File::FILE_OK, error); |
| 815 ASSERT_EQ(5U, progress.size()); | 815 ASSERT_EQ(5U, progress.size()); |
| 816 EXPECT_EQ(0, progress[0]); | 816 EXPECT_EQ(0, progress[0]); |
| 817 EXPECT_EQ(10, progress[1]); | 817 EXPECT_EQ(10, progress[1]); |
| 818 EXPECT_EQ(20, progress[2]); | 818 EXPECT_EQ(20, progress[2]); |
| 819 EXPECT_EQ(30, progress[3]); | 819 EXPECT_EQ(30, progress[3]); |
| 820 EXPECT_EQ(36, progress[4]); | 820 EXPECT_EQ(36, progress[4]); |
| 821 | 821 |
| 822 std::string content; | 822 std::string content; |
| 823 ASSERT_TRUE(base::ReadFileToString(dest_path, &content)); | 823 ASSERT_TRUE(base::ReadFileToString(dest_path, &content)); |
| 824 EXPECT_EQ(kTestData, content); | 824 EXPECT_EQ(kTestData, content); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 859 10, // buffer size | 859 10, // buffer size |
| 860 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), | 860 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), |
| 861 base::TimeDelta()); // For testing, we need all the progress. | 861 base::TimeDelta()); // For testing, we need all the progress. |
| 862 | 862 |
| 863 // Call Cancel() later. | 863 // Call Cancel() later. |
| 864 base::MessageLoopProxy::current()->PostTask( | 864 base::MessageLoopProxy::current()->PostTask( |
| 865 FROM_HERE, | 865 FROM_HERE, |
| 866 base::Bind(&CopyOrMoveOperationDelegate::StreamCopyHelper::Cancel, | 866 base::Bind(&CopyOrMoveOperationDelegate::StreamCopyHelper::Cancel, |
| 867 base::Unretained(&helper))); | 867 base::Unretained(&helper))); |
| 868 | 868 |
| 869 base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED; | 869 base::File::Error error = base::File::FILE_ERROR_FAILED; |
| 870 base::RunLoop run_loop; | 870 base::RunLoop run_loop; |
| 871 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); | 871 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); |
| 872 run_loop.Run(); | 872 run_loop.Run(); |
| 873 | 873 |
| 874 EXPECT_EQ(base::PLATFORM_FILE_ERROR_ABORT, error); | 874 EXPECT_EQ(base::File::FILE_ERROR_ABORT, error); |
| 875 } | 875 } |
| 876 | 876 |
| 877 } // namespace content | 877 } // namespace content |
| OLD | NEW |