| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "chrome/browser/chromeos/drive/file_system/create_directory_operation.h
" | 5 #include "chrome/browser/chromeos/drive/file_system/create_directory_operation.h
" |
| 6 | 6 |
| 7 #include "chrome/browser/chromeos/drive/file_system/operation_test_base.h" | 7 #include "chrome/browser/chromeos/drive/file_system/operation_test_base.h" |
| 8 #include "content/public/test/test_utils.h" |
| 8 #include "google_apis/drive/test_util.h" | 9 #include "google_apis/drive/test_util.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 11 |
| 11 namespace drive { | 12 namespace drive { |
| 12 namespace file_system { | 13 namespace file_system { |
| 13 | 14 |
| 14 class CreateDirectoryOperationTest : public OperationTestBase { | 15 class CreateDirectoryOperationTest : public OperationTestBase { |
| 15 protected: | 16 protected: |
| 16 // Returns FILE_ERROR_OK if a directory is found at |path|. | 17 // Returns FILE_ERROR_OK if a directory is found at |path|. |
| 17 FileError FindDirectory(const base::FilePath& path) { | 18 FileError FindDirectory(const base::FilePath& path) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 39 | 40 |
| 40 // Create a new directory, not recursively. | 41 // Create a new directory, not recursively. |
| 41 EXPECT_EQ(FILE_ERROR_NOT_FOUND, FindDirectory(kNewDirectory1)); | 42 EXPECT_EQ(FILE_ERROR_NOT_FOUND, FindDirectory(kNewDirectory1)); |
| 42 | 43 |
| 43 FileError error = FILE_ERROR_FAILED; | 44 FileError error = FILE_ERROR_FAILED; |
| 44 operation.CreateDirectory( | 45 operation.CreateDirectory( |
| 45 kNewDirectory1, | 46 kNewDirectory1, |
| 46 true, // is_exclusive | 47 true, // is_exclusive |
| 47 false, // is_recursive | 48 false, // is_recursive |
| 48 google_apis::test_util::CreateCopyResultCallback(&error)); | 49 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 49 test_util::RunBlockingPoolTask(); | 50 content::RunAllBlockingPoolTasksUntilIdle(); |
| 50 EXPECT_EQ(FILE_ERROR_OK, error); | 51 EXPECT_EQ(FILE_ERROR_OK, error); |
| 51 EXPECT_EQ(FILE_ERROR_OK, FindDirectory(kNewDirectory1)); | 52 EXPECT_EQ(FILE_ERROR_OK, FindDirectory(kNewDirectory1)); |
| 52 EXPECT_EQ(1U, observer()->get_changed_files().size()); | 53 EXPECT_EQ(1U, observer()->get_changed_files().size()); |
| 53 EXPECT_EQ( | 54 EXPECT_EQ( |
| 54 1U, | 55 1U, |
| 55 observer()->get_changed_files().CountDirectory(kNewDirectory1.DirName())); | 56 observer()->get_changed_files().CountDirectory(kNewDirectory1.DirName())); |
| 56 | 57 |
| 57 ResourceEntry entry; | 58 ResourceEntry entry; |
| 58 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kNewDirectory1, &entry)); | 59 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kNewDirectory1, &entry)); |
| 59 EXPECT_EQ(ResourceEntry::DIRTY, entry.metadata_edit_state()); | 60 EXPECT_EQ(ResourceEntry::DIRTY, entry.metadata_edit_state()); |
| 60 EXPECT_TRUE(entry.file_info().is_directory()); | 61 EXPECT_TRUE(entry.file_info().is_directory()); |
| 61 EXPECT_FALSE(base::Time::FromInternalValue( | 62 EXPECT_FALSE(base::Time::FromInternalValue( |
| 62 entry.file_info().last_modified()).is_null()); | 63 entry.file_info().last_modified()).is_null()); |
| 63 EXPECT_FALSE(base::Time::FromInternalValue( | 64 EXPECT_FALSE(base::Time::FromInternalValue( |
| 64 entry.file_info().last_accessed()).is_null()); | 65 entry.file_info().last_accessed()).is_null()); |
| 65 EXPECT_EQ(1U, observer()->updated_local_ids().size()); | 66 EXPECT_EQ(1U, observer()->updated_local_ids().size()); |
| 66 EXPECT_EQ(1U, observer()->updated_local_ids().count(entry.local_id())); | 67 EXPECT_EQ(1U, observer()->updated_local_ids().count(entry.local_id())); |
| 67 | 68 |
| 68 // Create a new directory recursively. | 69 // Create a new directory recursively. |
| 69 EXPECT_EQ(FILE_ERROR_NOT_FOUND, FindDirectory(kNewDirectory2)); | 70 EXPECT_EQ(FILE_ERROR_NOT_FOUND, FindDirectory(kNewDirectory2)); |
| 70 operation.CreateDirectory( | 71 operation.CreateDirectory( |
| 71 kNewDirectory2, | 72 kNewDirectory2, |
| 72 true, // is_exclusive | 73 true, // is_exclusive |
| 73 false, // is_recursive | 74 false, // is_recursive |
| 74 google_apis::test_util::CreateCopyResultCallback(&error)); | 75 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 75 test_util::RunBlockingPoolTask(); | 76 content::RunAllBlockingPoolTasksUntilIdle(); |
| 76 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); | 77 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); |
| 77 EXPECT_EQ(FILE_ERROR_NOT_FOUND, FindDirectory(kNewDirectory2)); | 78 EXPECT_EQ(FILE_ERROR_NOT_FOUND, FindDirectory(kNewDirectory2)); |
| 78 | 79 |
| 79 operation.CreateDirectory( | 80 operation.CreateDirectory( |
| 80 kNewDirectory2, | 81 kNewDirectory2, |
| 81 true, // is_exclusive | 82 true, // is_exclusive |
| 82 true, // is_recursive | 83 true, // is_recursive |
| 83 google_apis::test_util::CreateCopyResultCallback(&error)); | 84 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 84 test_util::RunBlockingPoolTask(); | 85 content::RunAllBlockingPoolTasksUntilIdle(); |
| 85 EXPECT_EQ(FILE_ERROR_OK, error); | 86 EXPECT_EQ(FILE_ERROR_OK, error); |
| 86 EXPECT_EQ(FILE_ERROR_OK, FindDirectory(kNewDirectory2)); | 87 EXPECT_EQ(FILE_ERROR_OK, FindDirectory(kNewDirectory2)); |
| 87 | 88 |
| 88 // Try to create an existing directory. | 89 // Try to create an existing directory. |
| 89 operation.CreateDirectory( | 90 operation.CreateDirectory( |
| 90 kExistingDirectory, | 91 kExistingDirectory, |
| 91 true, // is_exclusive | 92 true, // is_exclusive |
| 92 false, // is_recursive | 93 false, // is_recursive |
| 93 google_apis::test_util::CreateCopyResultCallback(&error)); | 94 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 94 test_util::RunBlockingPoolTask(); | 95 content::RunAllBlockingPoolTasksUntilIdle(); |
| 95 EXPECT_EQ(FILE_ERROR_EXISTS, error); | 96 EXPECT_EQ(FILE_ERROR_EXISTS, error); |
| 96 | 97 |
| 97 operation.CreateDirectory( | 98 operation.CreateDirectory( |
| 98 kExistingDirectory, | 99 kExistingDirectory, |
| 99 false, // is_exclusive | 100 false, // is_exclusive |
| 100 false, // is_recursive | 101 false, // is_recursive |
| 101 google_apis::test_util::CreateCopyResultCallback(&error)); | 102 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 102 test_util::RunBlockingPoolTask(); | 103 content::RunAllBlockingPoolTasksUntilIdle(); |
| 103 EXPECT_EQ(FILE_ERROR_OK, error); | 104 EXPECT_EQ(FILE_ERROR_OK, error); |
| 104 | 105 |
| 105 // Try to create a directory with a path for an existing file. | 106 // Try to create a directory with a path for an existing file. |
| 106 operation.CreateDirectory( | 107 operation.CreateDirectory( |
| 107 kExistingFile, | 108 kExistingFile, |
| 108 false, // is_exclusive | 109 false, // is_exclusive |
| 109 true, // is_recursive | 110 true, // is_recursive |
| 110 google_apis::test_util::CreateCopyResultCallback(&error)); | 111 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 111 test_util::RunBlockingPoolTask(); | 112 content::RunAllBlockingPoolTasksUntilIdle(); |
| 112 EXPECT_EQ(FILE_ERROR_NOT_A_DIRECTORY, error); | 113 EXPECT_EQ(FILE_ERROR_NOT_A_DIRECTORY, error); |
| 113 | 114 |
| 114 // Try to create a directory under a file. | 115 // Try to create a directory under a file. |
| 115 operation.CreateDirectory( | 116 operation.CreateDirectory( |
| 116 kExistingFile.AppendASCII("New Directory"), | 117 kExistingFile.AppendASCII("New Directory"), |
| 117 false, // is_exclusive | 118 false, // is_exclusive |
| 118 true, // is_recursive | 119 true, // is_recursive |
| 119 google_apis::test_util::CreateCopyResultCallback(&error)); | 120 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 120 test_util::RunBlockingPoolTask(); | 121 content::RunAllBlockingPoolTasksUntilIdle(); |
| 121 EXPECT_EQ(FILE_ERROR_NOT_A_DIRECTORY, error); | 122 EXPECT_EQ(FILE_ERROR_NOT_A_DIRECTORY, error); |
| 122 } | 123 } |
| 123 | 124 |
| 124 } // namespace file_system | 125 } // namespace file_system |
| 125 } // namespace drive | 126 } // namespace drive |
| OLD | NEW |