OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/chromeos/drive/change_list_processor.h" | |
6 | |
7 #include "base/message_loop.h" | |
8 #include "base/values.h" | |
9 #include "chrome/browser/chromeos/drive/drive.pb.h" | |
10 #include "chrome/browser/google_apis/drive_api_parser.h" | |
11 #include "chrome/browser/google_apis/gdata_wapi_parser.h" | |
12 #include "chrome/browser/google_apis/test_util.h" | |
13 #include "testing/gtest/include/gtest/gtest.h" | |
14 | |
15 namespace drive { | |
16 namespace internal { | |
17 | |
18 namespace { | |
19 | |
20 ChangeList* ParseChangeList(const std::string& test_data_path) { | |
satorux1
2013/05/28 07:16:30
function comment is missing
kinaba
2013/05/28 07:29:48
Done.
| |
21 return new ChangeList( | |
22 *google_apis::ResourceList::ExtractAndParse( | |
23 *google_apis::test_util::LoadJSONFile( | |
24 test_data_path))); | |
25 } | |
26 | |
27 } // namespace | |
28 | |
29 TEST(ChangeListProcessorTest, DeltaFileAddedInNewDirectory) { | |
30 ScopedVector<ChangeList> changes; | |
31 changes.push_back(ParseChangeList( | |
32 "chromeos/gdata/delta_file_added_in_new_directory.json")); | |
33 | |
34 ChangeListProcessor::ResourceEntryMap entry_map; | |
35 ChangeListProcessor::FeedToEntryMap(changes.Pass(), &entry_map, NULL); | |
36 | |
37 const std::string kRootId("fake_root"); | |
38 const std::string kNewFolderId("folder:new_folder_resource_id"); | |
39 const std::string kNewFileId("document:file_added_in_new_dir_id"); | |
40 | |
41 EXPECT_EQ(2U, entry_map.size()); | |
42 EXPECT_TRUE(entry_map.count(kNewFolderId)); | |
43 EXPECT_TRUE(entry_map.count(kNewFileId)); | |
44 EXPECT_EQ(kRootId, entry_map[kNewFolderId].parent_resource_id()); | |
45 EXPECT_EQ(kNewFolderId, entry_map[kNewFileId].parent_resource_id()); | |
46 EXPECT_TRUE(entry_map[kNewFolderId].file_info().is_directory()); | |
47 EXPECT_FALSE(entry_map[kNewFileId].file_info().is_directory()); | |
48 EXPECT_EQ("New Directory", entry_map[kNewFolderId].title()); | |
49 EXPECT_EQ("File in new dir", entry_map[kNewFileId].title()); | |
50 } | |
51 | |
52 TEST(ChangeListProcessorTest, DeltaDirMovedFromRootToDirectory) { | |
53 ScopedVector<ChangeList> changes; | |
54 changes.push_back(ParseChangeList( | |
55 "chromeos/gdata/delta_dir_moved_from_root_to_directory.json")); | |
56 | |
57 ChangeListProcessor::ResourceEntryMap entry_map; | |
58 ChangeListProcessor::FeedToEntryMap(changes.Pass(), &entry_map, NULL); | |
59 | |
60 const std::string kMovedId("folder:1_folder_resource_id"); | |
61 const std::string kDestId("folder:sub_dir_folder_2_self_link"); | |
62 | |
63 EXPECT_EQ(2U, entry_map.size()); | |
64 EXPECT_TRUE(entry_map.count(kMovedId)); | |
65 EXPECT_TRUE(entry_map.count(kDestId)); | |
66 EXPECT_EQ(kDestId, entry_map[kMovedId].parent_resource_id()); | |
67 } | |
68 | |
69 TEST(ChangeListProcessorTest, DeltaFileMovedFromDirectoryToRoot) { | |
70 ScopedVector<ChangeList> changes; | |
71 changes.push_back(ParseChangeList( | |
72 "chromeos/gdata/delta_file_moved_from_directory_to_root.json")); | |
73 | |
74 ChangeListProcessor::ResourceEntryMap entry_map; | |
75 ChangeListProcessor::FeedToEntryMap(changes.Pass(), &entry_map, NULL); | |
76 | |
77 const std::string kRootId("fake_root"); | |
78 const std::string kMovedId("file:subdirectory_file_1_id"); | |
79 const std::string kSrcId("folder:1_folder_resource_id"); | |
80 | |
81 EXPECT_EQ(2U, entry_map.size()); | |
82 EXPECT_TRUE(entry_map.count(kMovedId)); | |
83 EXPECT_TRUE(entry_map.count(kSrcId)); | |
84 EXPECT_EQ(kRootId, entry_map[kMovedId].parent_resource_id()); | |
85 } | |
86 | |
87 TEST(ChangeListProcessorTest, DeltaFileRenamedInDirectory) { | |
88 ScopedVector<ChangeList> changes; | |
89 changes.push_back(ParseChangeList( | |
90 "chromeos/gdata/delta_file_renamed_in_directory.json")); | |
91 | |
92 ChangeListProcessor::ResourceEntryMap entry_map; | |
93 ChangeListProcessor::FeedToEntryMap(changes.Pass(), &entry_map, NULL); | |
94 | |
95 const std::string kRootId("fake_root"); | |
96 const std::string kRenamedId("file:subdirectory_file_1_id"); | |
97 const std::string kParentId("folder:1_folder_resource_id"); | |
98 | |
99 EXPECT_EQ(2U, entry_map.size()); | |
100 EXPECT_TRUE(entry_map.count(kRenamedId)); | |
101 EXPECT_TRUE(entry_map.count(kParentId)); | |
102 EXPECT_EQ(kParentId, entry_map[kRenamedId].parent_resource_id()); | |
103 EXPECT_EQ("New SubDirectory File 1.txt", entry_map[kRenamedId].title()); | |
104 } | |
105 | |
106 // TODO(kinaba): write test for ApplyFeeds crbug.com/147728. | |
107 | |
108 } // namespace internal | |
109 } // namespace drive | |
110 | |
OLD | NEW |