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 |