OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/scoped_temp_dir.h" | 9 #include "base/scoped_temp_dir.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 g_entry.folder_id = 100; | 112 g_entry.folder_id = 100; |
113 CreateStarredEntry(&g_entry); | 113 CreateStarredEntry(&g_entry); |
114 | 114 |
115 ASSERT_TRUE(EnsureStarredIntegrity()); | 115 ASSERT_TRUE(EnsureStarredIntegrity()); |
116 | 116 |
117 // Make sure no new entries were added. | 117 // Make sure no new entries were added. |
118 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); | 118 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); |
119 | 119 |
120 // Make sure the folder was moved to the bookmark bar folder. | 120 // Make sure the folder was moved to the bookmark bar folder. |
121 ASSERT_TRUE(GetStarredEntry(g_entry.id, &g_entry)); | 121 ASSERT_TRUE(GetStarredEntry(g_entry.id, &g_entry)); |
122 ASSERT_EQ(HistoryService::kBookmarkBarID, g_entry.parent_folder_id); | 122 ASSERT_EQ(kBookmarkBarID, g_entry.parent_folder_id); |
123 ASSERT_EQ(0, g_entry.visual_order); | 123 ASSERT_EQ(0, g_entry.visual_order); |
124 } | 124 } |
125 | 125 |
126 TEST_F(StarredURLDatabaseTest, FixOrphanedBookmarks) { | 126 TEST_F(StarredURLDatabaseTest, FixOrphanedBookmarks) { |
127 const int initial_count = GetStarredEntryCount(); | 127 const int initial_count = GetStarredEntryCount(); |
128 | 128 |
129 // Create two bookmarks that aren't in a random folder no on the bookmark bar. | 129 // Create two bookmarks that aren't in a random folder no on the bookmark bar. |
130 StarredEntry entry1; | 130 StarredEntry entry1; |
131 entry1.parent_folder_id = 100; | 131 entry1.parent_folder_id = 100; |
132 entry1.visual_order = 10; | 132 entry1.visual_order = 10; |
133 entry1.url = GURL("http://google.com/1"); | 133 entry1.url = GURL("http://google.com/1"); |
134 CreateStarredEntry(&entry1); | 134 CreateStarredEntry(&entry1); |
135 | 135 |
136 StarredEntry entry2; | 136 StarredEntry entry2; |
137 entry2.parent_folder_id = 101; | 137 entry2.parent_folder_id = 101; |
138 entry2.visual_order = 20; | 138 entry2.visual_order = 20; |
139 entry2.url = GURL("http://google.com/2"); | 139 entry2.url = GURL("http://google.com/2"); |
140 CreateStarredEntry(&entry2); | 140 CreateStarredEntry(&entry2); |
141 | 141 |
142 ASSERT_TRUE(EnsureStarredIntegrity()); | 142 ASSERT_TRUE(EnsureStarredIntegrity()); |
143 | 143 |
144 // Make sure no new entries were added. | 144 // Make sure no new entries were added. |
145 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); | 145 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); |
146 | 146 |
147 // Make sure the entries were moved to the bookmark bar and the visual order | 147 // Make sure the entries were moved to the bookmark bar and the visual order |
148 // order was updated appropriately. | 148 // order was updated appropriately. |
149 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); | 149 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); |
150 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_folder_id); | 150 ASSERT_EQ(kBookmarkBarID, entry1.parent_folder_id); |
151 | 151 |
152 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2)); | 152 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2)); |
153 ASSERT_EQ(HistoryService::kBookmarkBarID, entry2.parent_folder_id); | 153 ASSERT_EQ(kBookmarkBarID, entry2.parent_folder_id); |
154 ASSERT_TRUE((entry1.visual_order == 0 && entry2.visual_order == 1) || | 154 ASSERT_TRUE((entry1.visual_order == 0 && entry2.visual_order == 1) || |
155 (entry1.visual_order == 1 && entry2.visual_order == 0)); | 155 (entry1.visual_order == 1 && entry2.visual_order == 0)); |
156 } | 156 } |
157 | 157 |
158 TEST_F(StarredURLDatabaseTest, FixFolderCycleDepth0) { | 158 TEST_F(StarredURLDatabaseTest, FixFolderCycleDepth0) { |
159 const int initial_count = GetStarredEntryCount(); | 159 const int initial_count = GetStarredEntryCount(); |
160 | 160 |
161 // Create a folder that is parented to itself. | 161 // Create a folder that is parented to itself. |
162 StarredEntry entry1; | 162 StarredEntry entry1; |
163 entry1.folder_id = entry1.parent_folder_id = 100; | 163 entry1.folder_id = entry1.parent_folder_id = 100; |
164 entry1.visual_order = 10; | 164 entry1.visual_order = 10; |
165 entry1.type = StarredEntry::USER_FOLDER; | 165 entry1.type = StarredEntry::USER_FOLDER; |
166 CreateStarredEntry(&entry1); | 166 CreateStarredEntry(&entry1); |
167 | 167 |
168 ASSERT_TRUE(EnsureStarredIntegrity()); | 168 ASSERT_TRUE(EnsureStarredIntegrity()); |
169 | 169 |
170 // Make sure no new entries were added. | 170 // Make sure no new entries were added. |
171 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); | 171 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); |
172 | 172 |
173 // Make sure the folder were moved to the bookmark bar and the visual order | 173 // Make sure the folder were moved to the bookmark bar and the visual order |
174 // order was updated appropriately. | 174 // order was updated appropriately. |
175 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); | 175 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); |
176 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_folder_id); | 176 ASSERT_EQ(kBookmarkBarID, entry1.parent_folder_id); |
177 ASSERT_EQ(0, entry1.visual_order); | 177 ASSERT_EQ(0, entry1.visual_order); |
178 } | 178 } |
179 | 179 |
180 TEST_F(StarredURLDatabaseTest, FixFolderCycleDepth1) { | 180 TEST_F(StarredURLDatabaseTest, FixFolderCycleDepth1) { |
181 const int initial_count = GetStarredEntryCount(); | 181 const int initial_count = GetStarredEntryCount(); |
182 | 182 |
183 StarredEntry entry1; | 183 StarredEntry entry1; |
184 entry1.folder_id = 100; | 184 entry1.folder_id = 100; |
185 entry1.parent_folder_id = 101; | 185 entry1.parent_folder_id = 101; |
186 entry1.visual_order = 10; | 186 entry1.visual_order = 10; |
187 entry1.type = StarredEntry::USER_FOLDER; | 187 entry1.type = StarredEntry::USER_FOLDER; |
188 CreateStarredEntry(&entry1); | 188 CreateStarredEntry(&entry1); |
189 | 189 |
190 StarredEntry entry2; | 190 StarredEntry entry2; |
191 entry2.folder_id = 101; | 191 entry2.folder_id = 101; |
192 entry2.parent_folder_id = 100; | 192 entry2.parent_folder_id = 100; |
193 entry2.visual_order = 11; | 193 entry2.visual_order = 11; |
194 entry2.type = StarredEntry::USER_FOLDER; | 194 entry2.type = StarredEntry::USER_FOLDER; |
195 CreateStarredEntry(&entry2); | 195 CreateStarredEntry(&entry2); |
196 | 196 |
197 ASSERT_TRUE(EnsureStarredIntegrity()); | 197 ASSERT_TRUE(EnsureStarredIntegrity()); |
198 | 198 |
199 // Make sure no new entries were added. | 199 // Make sure no new entries were added. |
200 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); | 200 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); |
201 | 201 |
202 // Because the folders caused a cycle, entry1 is moved the bookmark bar, which | 202 // Because the folders caused a cycle, entry1 is moved the bookmark bar, which |
203 // breaks the cycle. | 203 // breaks the cycle. |
204 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); | 204 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); |
205 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2)); | 205 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2)); |
206 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_folder_id); | 206 ASSERT_EQ(kBookmarkBarID, entry1.parent_folder_id); |
207 ASSERT_EQ(100, entry2.parent_folder_id); | 207 ASSERT_EQ(100, entry2.parent_folder_id); |
208 ASSERT_EQ(0, entry1.visual_order); | 208 ASSERT_EQ(0, entry1.visual_order); |
209 ASSERT_EQ(0, entry2.visual_order); | 209 ASSERT_EQ(0, entry2.visual_order); |
210 } | 210 } |
211 | 211 |
212 TEST_F(StarredURLDatabaseTest, FixVisualOrder) { | 212 TEST_F(StarredURLDatabaseTest, FixVisualOrder) { |
213 const int initial_count = GetStarredEntryCount(); | 213 const int initial_count = GetStarredEntryCount(); |
214 | 214 |
215 // Star two urls. | 215 // Star two urls. |
216 StarredEntry entry1; | 216 StarredEntry entry1; |
217 entry1.url = GURL("http://google.com/1"); | 217 entry1.url = GURL("http://google.com/1"); |
218 entry1.parent_folder_id = HistoryService::kBookmarkBarID; | 218 entry1.parent_folder_id = kBookmarkBarID; |
219 entry1.visual_order = 5; | 219 entry1.visual_order = 5; |
220 CreateStarredEntry(&entry1); | 220 CreateStarredEntry(&entry1); |
221 | 221 |
222 // Add url2 and star it. | 222 // Add url2 and star it. |
223 StarredEntry entry2; | 223 StarredEntry entry2; |
224 entry2.url = GURL("http://google.com/2"); | 224 entry2.url = GURL("http://google.com/2"); |
225 entry2.parent_folder_id = HistoryService::kBookmarkBarID; | 225 entry2.parent_folder_id = kBookmarkBarID; |
226 entry2.visual_order = 10; | 226 entry2.visual_order = 10; |
227 CreateStarredEntry(&entry2); | 227 CreateStarredEntry(&entry2); |
228 | 228 |
229 ASSERT_TRUE(EnsureStarredIntegrity()); | 229 ASSERT_TRUE(EnsureStarredIntegrity()); |
230 | 230 |
231 // Make sure no new entries were added. | 231 // Make sure no new entries were added. |
232 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); | 232 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); |
233 | 233 |
234 StarredEntry entry; | 234 StarredEntry entry; |
235 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry)); | 235 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry)); |
236 entry1.visual_order = 0; | 236 entry1.visual_order = 0; |
237 CompareEntryByID(entry1); | 237 CompareEntryByID(entry1); |
238 | 238 |
239 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry)); | 239 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry)); |
240 entry2.visual_order = 1; | 240 entry2.visual_order = 1; |
241 CompareEntryByID(entry2); | 241 CompareEntryByID(entry2); |
242 } | 242 } |
243 | 243 |
244 TEST_F(StarredURLDatabaseTest, FixDuplicateFolderIDs) { | 244 TEST_F(StarredURLDatabaseTest, FixDuplicateFolderIDs) { |
245 const int initial_count = GetStarredEntryCount(); | 245 const int initial_count = GetStarredEntryCount(); |
246 | 246 |
247 // Create two folders with the same folder id. | 247 // Create two folders with the same folder id. |
248 StarredEntry entry1; | 248 StarredEntry entry1; |
249 entry1.type = StarredEntry::USER_FOLDER; | 249 entry1.type = StarredEntry::USER_FOLDER; |
250 entry1.folder_id = 10; | 250 entry1.folder_id = 10; |
251 entry1.parent_folder_id = HistoryService::kBookmarkBarID; | 251 entry1.parent_folder_id = kBookmarkBarID; |
252 CreateStarredEntry(&entry1); | 252 CreateStarredEntry(&entry1); |
253 StarredEntry entry2 = entry1; | 253 StarredEntry entry2 = entry1; |
254 CreateStarredEntry(&entry2); | 254 CreateStarredEntry(&entry2); |
255 | 255 |
256 ASSERT_TRUE(EnsureStarredIntegrity()); | 256 ASSERT_TRUE(EnsureStarredIntegrity()); |
257 | 257 |
258 // Make sure only one folder exists. | 258 // Make sure only one folder exists. |
259 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); | 259 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); |
260 | 260 |
261 StarredEntry entry; | 261 StarredEntry entry; |
262 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry) || | 262 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry) || |
263 GetStarredEntry(entry2.id, &entry)); | 263 GetStarredEntry(entry2.id, &entry)); |
264 } | 264 } |
265 | 265 |
266 TEST_F(StarredURLDatabaseTest, RemoveStarredEntriesWithEmptyURL) { | 266 TEST_F(StarredURLDatabaseTest, RemoveStarredEntriesWithEmptyURL) { |
267 const int initial_count = GetStarredEntryCount(); | 267 const int initial_count = GetStarredEntryCount(); |
268 | 268 |
269 StarredEntry entry; | 269 StarredEntry entry; |
270 entry.url = GURL("http://google.com"); | 270 entry.url = GURL("http://google.com"); |
271 entry.title = UTF8ToUTF16("FOO"); | 271 entry.title = UTF8ToUTF16("FOO"); |
272 entry.parent_folder_id = HistoryService::kBookmarkBarID; | 272 entry.parent_folder_id = kBookmarkBarID; |
273 | 273 |
274 ASSERT_NE(0, CreateStarredEntry(&entry)); | 274 ASSERT_NE(0, CreateStarredEntry(&entry)); |
275 | 275 |
276 // Remove the URL. | 276 // Remove the URL. |
277 DeleteURLRow(entry.url_id); | 277 DeleteURLRow(entry.url_id); |
278 | 278 |
279 // Fix up the table. | 279 // Fix up the table. |
280 ASSERT_TRUE(EnsureStarredIntegrity()); | 280 ASSERT_TRUE(EnsureStarredIntegrity()); |
281 | 281 |
282 // The entry we just created should have been nuked. | 282 // The entry we just created should have been nuked. |
283 ASSERT_EQ(initial_count, GetStarredEntryCount()); | 283 ASSERT_EQ(initial_count, GetStarredEntryCount()); |
284 } | 284 } |
285 | 285 |
286 } // namespace history | 286 } // namespace history |
OLD | NEW |