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_resource_metadata.h" | 5 #include "chrome/browser/chromeos/drive/drive_resource_metadata.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 const std::string& parent_resource_id); | 81 const std::string& parent_resource_id); |
82 | 82 |
83 virtual void SetUp() OVERRIDE { | 83 virtual void SetUp() OVERRIDE { |
84 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 84 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
85 | 85 |
86 base::ThreadRestrictions::SetIOAllowed(false); // For strict thread check. | 86 base::ThreadRestrictions::SetIOAllowed(false); // For strict thread check. |
87 scoped_refptr<base::SequencedWorkerPool> pool = | 87 scoped_refptr<base::SequencedWorkerPool> pool = |
88 content::BrowserThread::GetBlockingPool(); | 88 content::BrowserThread::GetBlockingPool(); |
89 blocking_task_runner_ = | 89 blocking_task_runner_ = |
90 pool->GetSequencedTaskRunner(pool->GetSequenceToken()); | 90 pool->GetSequencedTaskRunner(pool->GetSequenceToken()); |
91 resource_metadata_.reset(new DriveResourceMetadata(kTestRootResourceId, | 91 resource_metadata_.reset(new DriveResourceMetadata(temp_dir_.path(), |
92 temp_dir_.path(), | |
93 blocking_task_runner_)); | 92 blocking_task_runner_)); |
94 Init(resource_metadata_.get()); | 93 Init(resource_metadata_.get()); |
95 } | 94 } |
96 | 95 |
97 virtual void TearDown() OVERRIDE { | 96 virtual void TearDown() OVERRIDE { |
98 resource_metadata_.reset(); | 97 resource_metadata_.reset(); |
99 base::ThreadRestrictions::SetIOAllowed(true); | 98 base::ThreadRestrictions::SetIOAllowed(true); |
100 } | 99 } |
101 | 100 |
102 // Gets the entry info by path synchronously. Returns NULL on failure. | 101 // Gets the entry info by path synchronously. Returns NULL on failure. |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 }; | 164 }; |
166 | 165 |
167 // static | 166 // static |
168 void DriveResourceMetadataTest::Init(DriveResourceMetadata* resource_metadata) { | 167 void DriveResourceMetadataTest::Init(DriveResourceMetadata* resource_metadata) { |
169 DriveFileError error = DRIVE_FILE_ERROR_FAILED; | 168 DriveFileError error = DRIVE_FILE_ERROR_FAILED; |
170 resource_metadata->Initialize( | 169 resource_metadata->Initialize( |
171 google_apis::test_util::CreateCopyResultCallback(&error)); | 170 google_apis::test_util::CreateCopyResultCallback(&error)); |
172 google_apis::test_util::RunBlockingPoolTask(); | 171 google_apis::test_util::RunBlockingPoolTask(); |
173 ASSERT_EQ(DRIVE_FILE_OK, error); | 172 ASSERT_EQ(DRIVE_FILE_OK, error); |
174 | 173 |
| 174 // Create mydrive root directory. |
| 175 { |
| 176 error = DRIVE_FILE_ERROR_FAILED; |
| 177 base::FilePath drive_path; |
| 178 resource_metadata->AddEntry( |
| 179 util::CreateMyDriveRootEntry(kTestRootResourceId), |
| 180 google_apis::test_util::CreateCopyResultCallback(&error, &drive_path)); |
| 181 google_apis::test_util::RunBlockingPoolTask(); |
| 182 ASSERT_EQ(DRIVE_FILE_OK, error); |
| 183 } |
| 184 |
175 int sequence_id = 1; | 185 int sequence_id = 1; |
176 ASSERT_TRUE(AddDriveEntryProto( | 186 ASSERT_TRUE(AddDriveEntryProto( |
177 resource_metadata, sequence_id++, true, kTestRootResourceId)); | 187 resource_metadata, sequence_id++, true, kTestRootResourceId)); |
178 ASSERT_TRUE(AddDriveEntryProto( | 188 ASSERT_TRUE(AddDriveEntryProto( |
179 resource_metadata, sequence_id++, true, kTestRootResourceId)); | 189 resource_metadata, sequence_id++, true, kTestRootResourceId)); |
180 ASSERT_TRUE(AddDriveEntryProto( | 190 ASSERT_TRUE(AddDriveEntryProto( |
181 resource_metadata, sequence_id++, true, "resource_id:dir1")); | 191 resource_metadata, sequence_id++, true, "resource_id:dir1")); |
182 | 192 |
183 ASSERT_TRUE(AddDriveEntryProto( | 193 ASSERT_TRUE(AddDriveEntryProto( |
184 resource_metadata, sequence_id++, false, "resource_id:dir1")); | 194 resource_metadata, sequence_id++, false, "resource_id:dir1")); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 TEST_F(DriveResourceMetadataTest, VersionCheck) { | 264 TEST_F(DriveResourceMetadataTest, VersionCheck) { |
255 // Set up the root directory. | 265 // Set up the root directory. |
256 DriveRootDirectoryProto proto; | 266 DriveRootDirectoryProto proto; |
257 DriveEntryProto* mutable_entry = | 267 DriveEntryProto* mutable_entry = |
258 proto.mutable_drive_directory()->mutable_drive_entry(); | 268 proto.mutable_drive_directory()->mutable_drive_entry(); |
259 mutable_entry->mutable_file_info()->set_is_directory(true); | 269 mutable_entry->mutable_file_info()->set_is_directory(true); |
260 mutable_entry->set_resource_id(util::kDriveGrandRootSpecialResourceId); | 270 mutable_entry->set_resource_id(util::kDriveGrandRootSpecialResourceId); |
261 mutable_entry->set_title("drive"); | 271 mutable_entry->set_title("drive"); |
262 | 272 |
263 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> | 273 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> |
264 resource_metadata(new DriveResourceMetadata(kTestRootResourceId, | 274 resource_metadata(new DriveResourceMetadata(temp_dir_.path(), |
265 temp_dir_.path(), | |
266 blocking_task_runner_)); | 275 blocking_task_runner_)); |
267 ForceUsingMemoryStorage(resource_metadata.get()); | 276 ForceUsingMemoryStorage(resource_metadata.get()); |
268 | 277 |
269 DriveFileError error = DRIVE_FILE_ERROR_FAILED; | 278 DriveFileError error = DRIVE_FILE_ERROR_FAILED; |
270 resource_metadata->Initialize( | 279 resource_metadata->Initialize( |
271 google_apis::test_util::CreateCopyResultCallback(&error)); | 280 google_apis::test_util::CreateCopyResultCallback(&error)); |
272 google_apis::test_util::RunBlockingPoolTask(); | 281 google_apis::test_util::RunBlockingPoolTask(); |
273 ASSERT_EQ(DRIVE_FILE_OK, error); | 282 ASSERT_EQ(DRIVE_FILE_OK, error); |
274 | 283 |
275 std::string serialized_proto; | 284 std::string serialized_proto; |
(...skipping 19 matching lines...) Expand all Loading... |
295 // Set a newer version, and serialize. | 304 // Set a newer version, and serialize. |
296 proto.set_version(kProtoVersion + 1); | 305 proto.set_version(kProtoVersion + 1); |
297 EXPECT_TRUE(proto.SerializeToString(&serialized_proto)); | 306 EXPECT_TRUE(proto.SerializeToString(&serialized_proto)); |
298 // This should fail as the version is newer. | 307 // This should fail as the version is newer. |
299 EXPECT_FALSE(ParseMetadataFromString(resource_metadata.get(), | 308 EXPECT_FALSE(ParseMetadataFromString(resource_metadata.get(), |
300 serialized_proto)); | 309 serialized_proto)); |
301 } | 310 } |
302 | 311 |
303 TEST_F(DriveResourceMetadataTest, LargestChangestamp) { | 312 TEST_F(DriveResourceMetadataTest, LargestChangestamp) { |
304 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> | 313 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> |
305 resource_metadata(new DriveResourceMetadata(kTestRootResourceId, | 314 resource_metadata(new DriveResourceMetadata(temp_dir_.path(), |
306 temp_dir_.path(), | |
307 blocking_task_runner_)); | 315 blocking_task_runner_)); |
308 DriveFileError error = DRIVE_FILE_ERROR_FAILED; | 316 DriveFileError error = DRIVE_FILE_ERROR_FAILED; |
309 resource_metadata->Initialize( | 317 resource_metadata->Initialize( |
310 google_apis::test_util::CreateCopyResultCallback(&error)); | 318 google_apis::test_util::CreateCopyResultCallback(&error)); |
311 google_apis::test_util::RunBlockingPoolTask(); | 319 google_apis::test_util::RunBlockingPoolTask(); |
312 ASSERT_EQ(DRIVE_FILE_OK, error); | 320 ASSERT_EQ(DRIVE_FILE_OK, error); |
313 | 321 |
314 int64 in_changestamp = 123456; | 322 int64 in_changestamp = 123456; |
315 resource_metadata->SetLargestChangestamp( | 323 resource_metadata->SetLargestChangestamp( |
316 in_changestamp, | 324 in_changestamp, |
317 google_apis::test_util::CreateCopyResultCallback(&error)); | 325 google_apis::test_util::CreateCopyResultCallback(&error)); |
318 google_apis::test_util::RunBlockingPoolTask(); | 326 google_apis::test_util::RunBlockingPoolTask(); |
319 EXPECT_EQ(DRIVE_FILE_OK, error); | 327 EXPECT_EQ(DRIVE_FILE_OK, error); |
320 | 328 |
321 int64 out_changestamp = 0; | 329 int64 out_changestamp = 0; |
322 resource_metadata->GetLargestChangestamp( | 330 resource_metadata->GetLargestChangestamp( |
323 google_apis::test_util::CreateCopyResultCallback(&out_changestamp)); | 331 google_apis::test_util::CreateCopyResultCallback(&out_changestamp)); |
324 google_apis::test_util::RunBlockingPoolTask(); | 332 google_apis::test_util::RunBlockingPoolTask(); |
325 DCHECK_EQ(in_changestamp, out_changestamp); | 333 DCHECK_EQ(in_changestamp, out_changestamp); |
326 } | 334 } |
327 | 335 |
328 TEST_F(DriveResourceMetadataTest, GetEntryInfoByResourceId_RootDirectory) { | 336 TEST_F(DriveResourceMetadataTest, GetEntryInfoByResourceId_RootDirectory) { |
329 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> | 337 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> |
330 resource_metadata(new DriveResourceMetadata(kTestRootResourceId, | 338 resource_metadata(new DriveResourceMetadata(temp_dir_.path(), |
331 temp_dir_.path(), | |
332 blocking_task_runner_)); | 339 blocking_task_runner_)); |
333 DriveFileError error = DRIVE_FILE_ERROR_FAILED; | 340 DriveFileError error = DRIVE_FILE_ERROR_FAILED; |
334 resource_metadata->Initialize( | 341 resource_metadata->Initialize( |
335 google_apis::test_util::CreateCopyResultCallback(&error)); | 342 google_apis::test_util::CreateCopyResultCallback(&error)); |
336 google_apis::test_util::RunBlockingPoolTask(); | 343 google_apis::test_util::RunBlockingPoolTask(); |
337 ASSERT_EQ(DRIVE_FILE_OK, error); | 344 ASSERT_EQ(DRIVE_FILE_OK, error); |
338 | 345 |
339 base::FilePath drive_file_path; | 346 base::FilePath drive_file_path; |
340 scoped_ptr<DriveEntryProto> entry_proto; | 347 scoped_ptr<DriveEntryProto> entry_proto; |
341 | 348 |
(...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1245 base::FilePath drive_file_path; | 1252 base::FilePath drive_file_path; |
1246 scoped_ptr<DriveEntryProto> entry_proto; | 1253 scoped_ptr<DriveEntryProto> entry_proto; |
1247 | 1254 |
1248 // root should continue to exist. | 1255 // root should continue to exist. |
1249 entry_proto = GetEntryInfoByPathSync(base::FilePath::FromUTF8Unsafe("drive")); | 1256 entry_proto = GetEntryInfoByPathSync(base::FilePath::FromUTF8Unsafe("drive")); |
1250 ASSERT_TRUE(entry_proto.get()); | 1257 ASSERT_TRUE(entry_proto.get()); |
1251 EXPECT_EQ("drive", entry_proto->base_name()); | 1258 EXPECT_EQ("drive", entry_proto->base_name()); |
1252 ASSERT_TRUE(entry_proto->file_info().is_directory()); | 1259 ASSERT_TRUE(entry_proto->file_info().is_directory()); |
1253 EXPECT_EQ(util::kDriveGrandRootSpecialResourceId, entry_proto->resource_id()); | 1260 EXPECT_EQ(util::kDriveGrandRootSpecialResourceId, entry_proto->resource_id()); |
1254 | 1261 |
1255 // There is "root" and "other", which are both empty. | 1262 // There is "other", which are both empty. |
1256 entries = ReadDirectoryByPathSync(base::FilePath::FromUTF8Unsafe("drive")); | 1263 entries = ReadDirectoryByPathSync(base::FilePath::FromUTF8Unsafe("drive")); |
1257 ASSERT_TRUE(entries.get()); | 1264 ASSERT_TRUE(entries.get()); |
1258 EXPECT_EQ(2U, entries->size()); | 1265 EXPECT_EQ(1U, entries->size()); |
1259 | |
1260 scoped_ptr<DriveEntryProtoVector> entries_in_mydrive = | |
1261 ReadDirectoryByPathSync(base::FilePath::FromUTF8Unsafe("drive/root")); | |
1262 ASSERT_TRUE(entries_in_mydrive.get()); | |
1263 EXPECT_TRUE(entries_in_mydrive->empty()); | |
1264 | 1266 |
1265 scoped_ptr<DriveEntryProtoVector> entries_in_other = | 1267 scoped_ptr<DriveEntryProtoVector> entries_in_other = |
1266 ReadDirectoryByPathSync(base::FilePath::FromUTF8Unsafe("drive/other")); | 1268 ReadDirectoryByPathSync(base::FilePath::FromUTF8Unsafe("drive/other")); |
1267 ASSERT_TRUE(entries_in_other.get()); | 1269 ASSERT_TRUE(entries_in_other.get()); |
1268 EXPECT_TRUE(entries_in_other->empty()); | 1270 EXPECT_TRUE(entries_in_other->empty()); |
1269 | 1271 |
1270 } | 1272 } |
1271 | 1273 |
1272 TEST_F(DriveResourceMetadataTest, PerDirectoryChangestamp) { | 1274 TEST_F(DriveResourceMetadataTest, PerDirectoryChangestamp) { |
1273 const int kNewChangestamp = kTestChangestamp + 1; | 1275 const int kNewChangestamp = kTestChangestamp + 1; |
1274 const char kSubDirectoryResourceId[] = "sub-directory-id"; | 1276 const char kSubDirectoryResourceId[] = "sub-directory-id"; |
1275 | 1277 |
1276 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> | 1278 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> |
1277 resource_metadata_original(new DriveResourceMetadata( | 1279 resource_metadata_original(new DriveResourceMetadata( |
1278 kTestRootResourceId, temp_dir_.path(), blocking_task_runner_)); | 1280 temp_dir_.path(), blocking_task_runner_)); |
1279 ForceUsingMemoryStorage(resource_metadata_original.get()); | 1281 ForceUsingMemoryStorage(resource_metadata_original.get()); |
1280 | 1282 |
1281 DriveFileError error = DRIVE_FILE_ERROR_FAILED; | 1283 DriveFileError error = DRIVE_FILE_ERROR_FAILED; |
1282 resource_metadata_original->Initialize( | 1284 resource_metadata_original->Initialize( |
1283 google_apis::test_util::CreateCopyResultCallback(&error)); | 1285 google_apis::test_util::CreateCopyResultCallback(&error)); |
1284 google_apis::test_util::RunBlockingPoolTask(); | 1286 google_apis::test_util::RunBlockingPoolTask(); |
1285 ASSERT_EQ(DRIVE_FILE_OK, error); | 1287 ASSERT_EQ(DRIVE_FILE_OK, error); |
1286 | 1288 |
1287 resource_metadata_original->SetLargestChangestamp( | 1289 resource_metadata_original->SetLargestChangestamp( |
1288 kNewChangestamp, | 1290 kNewChangestamp, |
1289 google_apis::test_util::CreateCopyResultCallback(&error)); | 1291 google_apis::test_util::CreateCopyResultCallback(&error)); |
1290 google_apis::test_util::RunBlockingPoolTask(); | 1292 google_apis::test_util::RunBlockingPoolTask(); |
1291 EXPECT_EQ(DRIVE_FILE_OK, error); | 1293 EXPECT_EQ(DRIVE_FILE_OK, error); |
1292 | 1294 |
| 1295 // Add "/drive/root" directory. |
| 1296 base::FilePath file_path; |
| 1297 resource_metadata_original->AddEntry( |
| 1298 util::CreateMyDriveRootEntry(kTestRootResourceId), |
| 1299 google_apis::test_util::CreateCopyResultCallback(&error, &file_path)); |
| 1300 google_apis::test_util::RunBlockingPoolTask(); |
| 1301 ASSERT_EQ(DRIVE_FILE_OK, error); |
| 1302 |
1293 // Add a sub directory. | 1303 // Add a sub directory. |
1294 DriveEntryProto directory_entry; | 1304 DriveEntryProto directory_entry; |
1295 directory_entry.mutable_file_info()->set_is_directory(true); | 1305 directory_entry.mutable_file_info()->set_is_directory(true); |
1296 directory_entry.set_resource_id(kSubDirectoryResourceId); | 1306 directory_entry.set_resource_id(kSubDirectoryResourceId); |
1297 directory_entry.set_parent_resource_id(kTestRootResourceId); | 1307 directory_entry.set_parent_resource_id(kTestRootResourceId); |
1298 directory_entry.set_title("directory"); | 1308 directory_entry.set_title("directory"); |
1299 base::FilePath file_path; | |
1300 resource_metadata_original->AddEntry( | 1309 resource_metadata_original->AddEntry( |
1301 directory_entry, | 1310 directory_entry, |
1302 google_apis::test_util::CreateCopyResultCallback(&error, &file_path)); | 1311 google_apis::test_util::CreateCopyResultCallback(&error, &file_path)); |
| 1312 google_apis::test_util::RunBlockingPoolTask(); |
| 1313 ASSERT_EQ(DRIVE_FILE_OK, error); |
| 1314 |
1303 // At this point, both the root and the sub directory do not contain the | 1315 // At this point, both the root and the sub directory do not contain the |
1304 // per-directory changestamp. | 1316 // per-directory changestamp. |
1305 resource_metadata_original->MaybeSave(); | 1317 resource_metadata_original->MaybeSave(); |
1306 google_apis::test_util::RunBlockingPoolTask(); | 1318 google_apis::test_util::RunBlockingPoolTask(); |
1307 | 1319 |
1308 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> | 1320 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> |
1309 resource_metadata(new DriveResourceMetadata( | 1321 resource_metadata(new DriveResourceMetadata(temp_dir_.path(), |
1310 util::kDriveGrandRootSpecialResourceId, | 1322 blocking_task_runner_)); |
1311 temp_dir_.path(), | |
1312 blocking_task_runner_)); | |
1313 ForceUsingMemoryStorage(resource_metadata.get()); | 1323 ForceUsingMemoryStorage(resource_metadata.get()); |
1314 | 1324 |
1315 resource_metadata->Initialize( | 1325 resource_metadata->Initialize( |
1316 google_apis::test_util::CreateCopyResultCallback(&error)); | 1326 google_apis::test_util::CreateCopyResultCallback(&error)); |
1317 google_apis::test_util::RunBlockingPoolTask(); | 1327 google_apis::test_util::RunBlockingPoolTask(); |
1318 ASSERT_EQ(DRIVE_FILE_OK, error); | 1328 ASSERT_EQ(DRIVE_FILE_OK, error); |
1319 | 1329 |
1320 // Load. This should propagate the largest changestamp to every directory. | 1330 // Load. This should propagate the largest changestamp to every directory. |
1321 resource_metadata->Load( | 1331 resource_metadata->Load( |
1322 google_apis::test_util::CreateCopyResultCallback(&error)); | 1332 google_apis::test_util::CreateCopyResultCallback(&error)); |
(...skipping 17 matching lines...) Expand all Loading... |
1340 google_apis::test_util::RunBlockingPoolTask(); | 1350 google_apis::test_util::RunBlockingPoolTask(); |
1341 ASSERT_EQ(DRIVE_FILE_OK, error); | 1351 ASSERT_EQ(DRIVE_FILE_OK, error); |
1342 EXPECT_EQ(kNewChangestamp, | 1352 EXPECT_EQ(kNewChangestamp, |
1343 entry_proto->directory_specific_info().changestamp()); | 1353 entry_proto->directory_specific_info().changestamp()); |
1344 } | 1354 } |
1345 | 1355 |
1346 TEST_F(DriveResourceMetadataTest, SaveAndLoad) { | 1356 TEST_F(DriveResourceMetadataTest, SaveAndLoad) { |
1347 // Save metadata and reset. | 1357 // Save metadata and reset. |
1348 resource_metadata_->MaybeSave(); | 1358 resource_metadata_->MaybeSave(); |
1349 | 1359 |
1350 resource_metadata_.reset(new DriveResourceMetadata( | 1360 resource_metadata_.reset(new DriveResourceMetadata(temp_dir_.path(), |
1351 util::kDriveGrandRootSpecialResourceId, | 1361 blocking_task_runner_)); |
1352 temp_dir_.path(), | |
1353 blocking_task_runner_)); | |
1354 DriveFileError error = DRIVE_FILE_ERROR_FAILED; | 1362 DriveFileError error = DRIVE_FILE_ERROR_FAILED; |
1355 resource_metadata_->Initialize( | 1363 resource_metadata_->Initialize( |
1356 google_apis::test_util::CreateCopyResultCallback(&error)); | 1364 google_apis::test_util::CreateCopyResultCallback(&error)); |
1357 google_apis::test_util::RunBlockingPoolTask(); | 1365 google_apis::test_util::RunBlockingPoolTask(); |
1358 ASSERT_EQ(DRIVE_FILE_OK, error); | 1366 ASSERT_EQ(DRIVE_FILE_OK, error); |
1359 | 1367 |
1360 // Load metadata. | 1368 // Load metadata. |
1361 resource_metadata_->Load( | 1369 resource_metadata_->Load( |
1362 google_apis::test_util::CreateCopyResultCallback(&error)); | 1370 google_apis::test_util::CreateCopyResultCallback(&error)); |
1363 google_apis::test_util::RunBlockingPoolTask(); | 1371 google_apis::test_util::RunBlockingPoolTask(); |
1364 EXPECT_EQ(DRIVE_FILE_OK, error); | 1372 EXPECT_EQ(DRIVE_FILE_OK, error); |
1365 | 1373 |
1366 // Try to get some data. | 1374 // Try to get some data. |
1367 scoped_ptr<DriveEntryProto> entry = GetEntryInfoByPathSync( | 1375 scoped_ptr<DriveEntryProto> entry = GetEntryInfoByPathSync( |
1368 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3/file9")); | 1376 base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3/file9")); |
1369 ASSERT_TRUE(entry.get()); | 1377 ASSERT_TRUE(entry.get()); |
1370 EXPECT_EQ("file9", entry->base_name()); | 1378 EXPECT_EQ("file9", entry->base_name()); |
1371 ASSERT_TRUE(!entry->file_info().is_directory()); | 1379 ASSERT_TRUE(!entry->file_info().is_directory()); |
1372 EXPECT_EQ("md5:file9", entry->file_specific_info().file_md5()); | 1380 EXPECT_EQ("md5:file9", entry->file_specific_info().file_md5()); |
1373 } | 1381 } |
1374 | 1382 |
1375 } // namespace drive | 1383 } // namespace drive |
OLD | NEW |