OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "webkit/fileapi/file_system_operation.h" | 5 #include "webkit/fileapi/file_system_operation.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/scoped_ptr.h" | 9 #include "base/scoped_ptr.h" |
10 #include "base/scoped_temp_dir.h" | 10 #include "base/scoped_temp_dir.h" |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 ASSERT_TRUE(dir.CreateUniqueTempDir()); | 456 ASSERT_TRUE(dir.CreateUniqueTempDir()); |
457 FilePath file; | 457 FilePath file; |
458 | 458 |
459 file_util::CreateTemporaryFileInDir(dir.path(), &file); | 459 file_util::CreateTemporaryFileInDir(dir.path(), &file); |
460 operation()->CreateFile(file, true); | 460 operation()->CreateFile(file, true); |
461 MessageLoop::current()->RunAllPending(); | 461 MessageLoop::current()->RunAllPending(); |
462 EXPECT_EQ(base::PLATFORM_FILE_ERROR_EXISTS, mock_dispatcher_->status()); | 462 EXPECT_EQ(base::PLATFORM_FILE_ERROR_EXISTS, mock_dispatcher_->status()); |
463 EXPECT_EQ(request_id_, mock_dispatcher_->request_id()); | 463 EXPECT_EQ(request_id_, mock_dispatcher_->request_id()); |
464 } | 464 } |
465 | 465 |
466 TEST_F(FileSystemOperationTest, TestCreateVeryLongName) { | |
467 ScopedTempDir dir; | |
468 ASSERT_TRUE(dir.CreateUniqueTempDir()); | |
469 | |
470 #if defined(OS_WIN) | |
471 FilePath dir_path(FILE_PATH_LITERAL("\\\\?\\") + dir.path().value()); | |
472 #else | |
473 FilePath dir_path = dir.path(); | |
474 #endif | |
475 | |
476 // TODO(kkanetkar): Once each platform's limitations have been enforced | |
477 // consider that in this test. Currently this test is for | |
478 // windows primarily. | |
479 FilePath dir1 = dir_path.AppendASCII( | |
480 "012345678901234567890123456789012345678901234567890123456789" | |
481 "012345678901234567890123456789012345678901234567890123456789" | |
482 "0123456789012345678901234567890123456789"); | |
483 FilePath file = dir1.AppendASCII( | |
484 "012345678901234567890123456789012345678901234567890123456789" | |
485 "012345678901234567890123456789012345678901234567890123456789" | |
486 "0123456789012345678901234567890123456789"); | |
487 operation()->CreateDirectory(dir1, false, true); | |
488 MessageLoop::current()->RunAllPending(); | |
489 operation()->CreateFile(file, true); | |
490 MessageLoop::current()->RunAllPending(); | |
491 EXPECT_TRUE(file_util::PathExists(file)); | |
492 } | |
493 | |
494 TEST_F(FileSystemOperationTest, TestCreateFileSuccessFileExists) { | 466 TEST_F(FileSystemOperationTest, TestCreateFileSuccessFileExists) { |
495 // Already existing file and exclusive false. | 467 // Already existing file and exclusive false. |
496 ScopedTempDir dir; | 468 ScopedTempDir dir; |
497 ASSERT_TRUE(dir.CreateUniqueTempDir()); | 469 ASSERT_TRUE(dir.CreateUniqueTempDir()); |
498 FilePath file; | 470 FilePath file; |
499 file_util::CreateTemporaryFileInDir(dir.path(), &file); | 471 file_util::CreateTemporaryFileInDir(dir.path(), &file); |
500 | 472 |
501 operation()->CreateFile(file, false); | 473 operation()->CreateFile(file, false); |
502 MessageLoop::current()->RunAllPending(); | 474 MessageLoop::current()->RunAllPending(); |
503 EXPECT_EQ(kFileOperationSucceeded, mock_dispatcher_->status()); | 475 EXPECT_EQ(kFileOperationSucceeded, mock_dispatcher_->status()); |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
809 | 781 |
810 // Check that its length is now 3 and that it contains only bits of test data. | 782 // Check that its length is now 3 and that it contains only bits of test data. |
811 EXPECT_TRUE(file_util::GetFileInfo(file, &info)); | 783 EXPECT_TRUE(file_util::GetFileInfo(file, &info)); |
812 EXPECT_EQ(length, info.size); | 784 EXPECT_EQ(length, info.size); |
813 EXPECT_EQ(length, file_util::ReadFile(file, data, length)); | 785 EXPECT_EQ(length, file_util::ReadFile(file, data, length)); |
814 for (int i = 0; i < length; ++i) | 786 for (int i = 0; i < length; ++i) |
815 EXPECT_EQ(test_data[i], data[i]); | 787 EXPECT_EQ(test_data[i], data[i]); |
816 } | 788 } |
817 | 789 |
818 } // namespace fileapi | 790 } // namespace fileapi |
OLD | NEW |