OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/drive_file_system.h" | 5 #include "chrome/browser/chromeos/drive/drive_file_system.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1019 ++latest_changelog)); | 1019 ++latest_changelog)); |
1020 EXPECT_TRUE( | 1020 EXPECT_TRUE( |
1021 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc")))); | 1021 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc")))); |
1022 | 1022 |
1023 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_root.json", | 1023 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_root.json", |
1024 ++latest_changelog)); | 1024 ++latest_changelog)); |
1025 EXPECT_FALSE( | 1025 EXPECT_FALSE( |
1026 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc")))); | 1026 EntryExists(FilePath(FILE_PATH_LITERAL("drive/Added file.gdoc")))); |
1027 } | 1027 } |
1028 | 1028 |
1029 | |
1030 TEST_F(DriveFileSystemTest, ChangeFeed_AddAndDeleteFileFromExistingDirectory) { | 1029 TEST_F(DriveFileSystemTest, ChangeFeed_AddAndDeleteFileFromExistingDirectory) { |
1031 int latest_changelog = 0; | 1030 int latest_changelog = 0; |
1032 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); | 1031 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); |
1033 | 1032 |
1034 EXPECT_TRUE(EntryExists(FilePath( | 1033 EXPECT_TRUE(EntryExists(FilePath( |
1035 FILE_PATH_LITERAL("drive/Directory 1")))); | 1034 FILE_PATH_LITERAL("drive/Directory 1")))); |
1036 | 1035 |
1037 // Add file to an existing directory. | 1036 // Add file to an existing directory. |
1038 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1037 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1039 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); | 1038 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); |
1040 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1039 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1041 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); | 1040 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); |
| 1041 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1042 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder"))))) |
| 1043 .Times(1); |
| 1044 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1045 FILE_PATH_LITERAL( |
| 1046 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder"))))) |
| 1047 .Times(1); |
1042 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_added_in_directory.json", | 1048 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_added_in_directory.json", |
1043 ++latest_changelog)); | 1049 ++latest_changelog)); |
1044 EXPECT_TRUE(EntryExists(FilePath( | 1050 EXPECT_TRUE(EntryExists(FilePath( |
1045 FILE_PATH_LITERAL("drive/Directory 1/Added file.gdoc")))); | 1051 FILE_PATH_LITERAL("drive/Directory 1/Added file.gdoc")))); |
1046 | 1052 |
1047 // Remove that file from the directory. | 1053 // Remove that file from the directory. |
1048 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1054 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1049 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); | 1055 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); |
1050 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_directory.json", | 1056 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_deleted_in_directory.json", |
1051 ++latest_changelog)); | 1057 ++latest_changelog)); |
(...skipping 18 matching lines...) Expand all Loading... |
1070 EXPECT_TRUE(EntryExists(FilePath( | 1076 EXPECT_TRUE(EntryExists(FilePath( |
1071 FILE_PATH_LITERAL("drive/New Directory")))); | 1077 FILE_PATH_LITERAL("drive/New Directory")))); |
1072 EXPECT_TRUE(EntryExists(FilePath( | 1078 EXPECT_TRUE(EntryExists(FilePath( |
1073 FILE_PATH_LITERAL("drive/New Directory/File in new dir.gdoc")))); | 1079 FILE_PATH_LITERAL("drive/New Directory/File in new dir.gdoc")))); |
1074 } | 1080 } |
1075 | 1081 |
1076 TEST_F(DriveFileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) { | 1082 TEST_F(DriveFileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) { |
1077 int latest_changelog = 0; | 1083 int latest_changelog = 0; |
1078 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); | 1084 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); |
1079 | 1085 |
1080 // This feed contains thw following updates: | 1086 // This feed contains the following updates: |
1081 // 1) A new PDF file is added to a new directory | 1087 // 1) A new PDF file is added to a new directory |
1082 // 2) but the new directory is marked "deleted" (i.e. moved to Trash) | 1088 // 2) but the new directory is marked "deleted" (i.e. moved to Trash) |
1083 // Hence, the PDF file should be just ignored. | 1089 // Hence, the PDF file should be just ignored. |
1084 ASSERT_TRUE(LoadChangeFeed( | 1090 ASSERT_TRUE(LoadChangeFeed( |
1085 "gdata/delta_file_added_in_new_but_deleted_directory.json", | 1091 "gdata/delta_file_added_in_new_but_deleted_directory.json", |
1086 ++latest_changelog)); | 1092 ++latest_changelog)); |
1087 } | 1093 } |
1088 | 1094 |
1089 TEST_F(DriveFileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) { | 1095 TEST_F(DriveFileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) { |
1090 int latest_changelog = 0; | 1096 int latest_changelog = 0; |
(...skipping 13 matching lines...) Expand all Loading... |
1104 // This will move "Directory 1" from "drive/" to "drive/Directory 2/". | 1110 // This will move "Directory 1" from "drive/" to "drive/Directory 2/". |
1105 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1111 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1106 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); | 1112 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); |
1107 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1113 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1108 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); | 1114 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); |
1109 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1115 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1110 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2"))))).Times(1); | 1116 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2"))))).Times(1); |
1111 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1117 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1112 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2/Directory 1"))))) | 1118 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 2/Directory 1"))))) |
1113 .Times(1); | 1119 .Times(1); |
| 1120 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1121 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder"))))) |
| 1122 .Times(1); |
| 1123 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1124 FILE_PATH_LITERAL( |
| 1125 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder"))))) |
| 1126 .Times(1); |
1114 ASSERT_TRUE(LoadChangeFeed( | 1127 ASSERT_TRUE(LoadChangeFeed( |
1115 "gdata/delta_dir_moved_from_root_to_directory.json", | 1128 "gdata/delta_dir_moved_from_root_to_directory.json", |
1116 ++latest_changelog)); | 1129 ++latest_changelog)); |
1117 | 1130 |
1118 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1131 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1119 "drive/Directory 2")))); | 1132 "drive/Directory 2")))); |
1120 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1133 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1121 "drive/Directory 1")))); | 1134 "drive/Directory 1")))); |
1122 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1135 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1123 "drive/Directory 2/Directory 1")))); | 1136 "drive/Directory 2/Directory 1")))); |
(...skipping 16 matching lines...) Expand all Loading... |
1140 "drive/Directory 1/Sub Directory Folder")))); | 1153 "drive/Directory 1/Sub Directory Folder")))); |
1141 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1154 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1142 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))); | 1155 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))); |
1143 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1156 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1144 "drive/Directory 1/SubDirectory File 1.txt")))); | 1157 "drive/Directory 1/SubDirectory File 1.txt")))); |
1145 | 1158 |
1146 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1159 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1147 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); | 1160 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); |
1148 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1161 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1149 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); | 1162 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); |
| 1163 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1164 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder"))))) |
| 1165 .Times(1); |
| 1166 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1167 FILE_PATH_LITERAL( |
| 1168 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder"))))) |
| 1169 .Times(1); |
1150 ASSERT_TRUE(LoadChangeFeed( | 1170 ASSERT_TRUE(LoadChangeFeed( |
1151 "gdata/delta_file_moved_from_directory_to_root.json", | 1171 "gdata/delta_file_moved_from_directory_to_root.json", |
1152 ++latest_changelog)); | 1172 ++latest_changelog)); |
1153 | 1173 |
1154 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1174 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1155 "drive/Directory 1")))); | 1175 "drive/Directory 1")))); |
1156 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1176 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1157 "drive/Directory 1/Sub Directory Folder")))); | 1177 "drive/Directory 1/Sub Directory Folder")))); |
1158 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1178 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1159 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))); | 1179 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder")))); |
1160 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1180 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1161 "drive/Directory 1/SubDirectory File 1.txt")))); | 1181 "drive/Directory 1/SubDirectory File 1.txt")))); |
1162 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1182 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1163 "drive/SubDirectory File 1.txt")))); | 1183 "drive/SubDirectory File 1.txt")))); |
1164 } | 1184 } |
1165 | 1185 |
1166 TEST_F(DriveFileSystemTest, ChangeFeed_FileRenamedInDirectory) { | 1186 TEST_F(DriveFileSystemTest, ChangeFeed_FileRenamedInDirectory) { |
1167 int latest_changelog = 0; | 1187 int latest_changelog = 0; |
1168 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); | 1188 ASSERT_TRUE(LoadRootFeedDocument("gdata/root_feed.json")); |
1169 | 1189 |
1170 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1190 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1171 "drive/Directory 1")))); | 1191 "drive/Directory 1")))); |
1172 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1192 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1173 "drive/Directory 1/SubDirectory File 1.txt")))); | 1193 "drive/Directory 1/SubDirectory File 1.txt")))); |
1174 | 1194 |
1175 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1195 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1176 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); | 1196 Eq(FilePath(FILE_PATH_LITERAL("drive"))))).Times(1); |
1177 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | 1197 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( |
1178 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); | 1198 Eq(FilePath(FILE_PATH_LITERAL("drive/Directory 1"))))).Times(1); |
| 1199 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1200 FILE_PATH_LITERAL("drive/Directory 1/Sub Directory Folder"))))) |
| 1201 .Times(1); |
| 1202 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(Eq(FilePath( |
| 1203 FILE_PATH_LITERAL( |
| 1204 "drive/Directory 1/Sub Directory Folder/Sub Sub Directory Folder"))))) |
| 1205 .Times(1); |
1179 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_renamed_in_directory.json", | 1206 ASSERT_TRUE(LoadChangeFeed("gdata/delta_file_renamed_in_directory.json", |
1180 ++latest_changelog)); | 1207 ++latest_changelog)); |
1181 | 1208 |
1182 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1209 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1183 "drive/Directory 1")))); | 1210 "drive/Directory 1")))); |
1184 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1211 EXPECT_FALSE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1185 "drive/Directory 1/SubDirectory File 1.txt")))); | 1212 "drive/Directory 1/SubDirectory File 1.txt")))); |
1186 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( | 1213 EXPECT_TRUE(EntryExists(FilePath(FILE_PATH_LITERAL( |
1187 "drive/Directory 1/New SubDirectory File 1.txt")))); | 1214 "drive/Directory 1/New SubDirectory File 1.txt")))); |
1188 } | 1215 } |
(...skipping 1503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2692 | 2719 |
2693 // Try to close the same file twice. | 2720 // Try to close the same file twice. |
2694 file_system_->CloseFile(kFileInRoot, close_file_callback); | 2721 file_system_->CloseFile(kFileInRoot, close_file_callback); |
2695 message_loop_.Run(); | 2722 message_loop_.Run(); |
2696 | 2723 |
2697 // It must fail. | 2724 // It must fail. |
2698 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, callback_helper_->last_error_); | 2725 EXPECT_EQ(DRIVE_FILE_ERROR_NOT_FOUND, callback_helper_->last_error_); |
2699 } | 2726 } |
2700 | 2727 |
2701 } // namespace drive | 2728 } // namespace drive |
OLD | NEW |