Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(788)

Side by Side Diff: chrome/browser/history/starred_url_database_unittest.cc

Issue 18758: Port some unit tests from chrome/browser/ (Closed)
Patch Set: port the tests Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/string_util.h" 9 #include "base/string_util.h"
10 #include "chrome/browser/history/history.h" 10 #include "chrome/browser/history/history.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 file_util::Delete(db_file_, false); 70 file_util::Delete(db_file_, false);
71 71
72 // Copy db file over that contains starred table. 72 // Copy db file over that contains starred table.
73 FilePath old_history_path; 73 FilePath old_history_path;
74 PathService::Get(chrome::DIR_TEST_DATA, &old_history_path); 74 PathService::Get(chrome::DIR_TEST_DATA, &old_history_path);
75 old_history_path = old_history_path.AppendASCII("bookmarks"); 75 old_history_path = old_history_path.AppendASCII("bookmarks");
76 old_history_path = old_history_path.Append( 76 old_history_path = old_history_path.Append(
77 FILE_PATH_LITERAL("History_with_empty_starred")); 77 FILE_PATH_LITERAL("History_with_empty_starred"));
78 file_util::CopyFile(old_history_path, db_file_); 78 file_util::CopyFile(old_history_path, db_file_);
79 79
80 EXPECT_EQ(SQLITE_OK, 80 EXPECT_EQ(SQLITE_OK,
81 sqlite3_open(WideToUTF8(db_file_.ToWStringHack()).c_str(), &db_)); 81 sqlite3_open(WideToUTF8(db_file_.ToWStringHack()).c_str(), &db_));
82 statement_cache_ = new SqliteStatementCache(db_); 82 statement_cache_ = new SqliteStatementCache(db_);
83 83
84 // Initialize the tables for this test. 84 // Initialize the tables for this test.
85 CreateURLTable(false); 85 CreateURLTable(false);
86 CreateMainURLIndex(); 86 CreateMainURLIndex();
87 EnsureStarredIntegrity(); 87 EnsureStarredIntegrity();
88 } 88 }
89 void TearDown() { 89 void TearDown() {
90 delete statement_cache_; 90 delete statement_cache_;
(...skipping 10 matching lines...) Expand all
101 } 101 }
102 102
103 FilePath db_file_; 103 FilePath db_file_;
104 sqlite3* db_; 104 sqlite3* db_;
105 SqliteStatementCache* statement_cache_; 105 SqliteStatementCache* statement_cache_;
106 }; 106 };
107 107
108 //----------------------------------------------------------------------------- 108 //-----------------------------------------------------------------------------
109 109
110 TEST_F(StarredURLDatabaseTest, FixOrphanedGroup) { 110 TEST_F(StarredURLDatabaseTest, FixOrphanedGroup) {
111 const size_t initial_count = GetStarredEntryCount(); 111 const int initial_count = GetStarredEntryCount();
112 112
113 // Create a group that isn't parented to the other/bookmark folders. 113 // Create a group that isn't parented to the other/bookmark folders.
114 StarredEntry g_entry; 114 StarredEntry g_entry;
115 g_entry.type = StarredEntry::USER_GROUP; 115 g_entry.type = StarredEntry::USER_GROUP;
116 g_entry.parent_group_id = 100; 116 g_entry.parent_group_id = 100;
117 g_entry.visual_order = 10; 117 g_entry.visual_order = 10;
118 g_entry.group_id = 100; 118 g_entry.group_id = 100;
119 CreateStarredEntry(&g_entry); 119 CreateStarredEntry(&g_entry);
120 120
121 ASSERT_TRUE(EnsureStarredIntegrity()); 121 ASSERT_TRUE(EnsureStarredIntegrity());
122 122
123 // Make sure no new entries were added. 123 // Make sure no new entries were added.
124 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); 124 ASSERT_EQ(initial_count + 1, GetStarredEntryCount());
125 125
126 // Make sure the group was moved to the bookmark bar folder. 126 // Make sure the group was moved to the bookmark bar folder.
127 ASSERT_TRUE(GetStarredEntry(g_entry.id, &g_entry)); 127 ASSERT_TRUE(GetStarredEntry(g_entry.id, &g_entry));
128 ASSERT_EQ(HistoryService::kBookmarkBarID, g_entry.parent_group_id); 128 ASSERT_EQ(HistoryService::kBookmarkBarID, g_entry.parent_group_id);
129 ASSERT_EQ(0, g_entry.visual_order); 129 ASSERT_EQ(0, g_entry.visual_order);
130 } 130 }
131 131
132 TEST_F(StarredURLDatabaseTest, FixOrphanedBookmarks) { 132 TEST_F(StarredURLDatabaseTest, FixOrphanedBookmarks) {
133 const size_t initial_count = GetStarredEntryCount(); 133 const int initial_count = GetStarredEntryCount();
134 134
135 // Create two bookmarks that aren't in a random folder no on the bookmark bar. 135 // Create two bookmarks that aren't in a random folder no on the bookmark bar.
136 StarredEntry entry1; 136 StarredEntry entry1;
137 entry1.parent_group_id = 100; 137 entry1.parent_group_id = 100;
138 entry1.visual_order = 10; 138 entry1.visual_order = 10;
139 entry1.url = GURL(L"http://google.com/1"); 139 entry1.url = GURL("http://google.com/1");
140 CreateStarredEntry(&entry1); 140 CreateStarredEntry(&entry1);
141 141
142 StarredEntry entry2; 142 StarredEntry entry2;
143 entry2.parent_group_id = 101; 143 entry2.parent_group_id = 101;
144 entry2.visual_order = 20; 144 entry2.visual_order = 20;
145 entry2.url = GURL(L"http://google.com/2"); 145 entry2.url = GURL("http://google.com/2");
146 CreateStarredEntry(&entry2); 146 CreateStarredEntry(&entry2);
147 147
148 ASSERT_TRUE(EnsureStarredIntegrity()); 148 ASSERT_TRUE(EnsureStarredIntegrity());
149 149
150 // Make sure no new entries were added. 150 // Make sure no new entries were added.
151 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); 151 ASSERT_EQ(initial_count + 2, GetStarredEntryCount());
152 152
153 // Make sure the entries were moved to the bookmark bar and the visual order 153 // Make sure the entries were moved to the bookmark bar and the visual order
154 // order was updated appropriately. 154 // order was updated appropriately.
155 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); 155 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1));
156 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_group_id); 156 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_group_id);
157 157
158 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2)); 158 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2));
159 ASSERT_EQ(HistoryService::kBookmarkBarID, entry2.parent_group_id); 159 ASSERT_EQ(HistoryService::kBookmarkBarID, entry2.parent_group_id);
160 ASSERT_TRUE((entry1.visual_order == 0 && entry2.visual_order == 1) || 160 ASSERT_TRUE((entry1.visual_order == 0 && entry2.visual_order == 1) ||
161 (entry1.visual_order == 1 && entry2.visual_order == 0)); 161 (entry1.visual_order == 1 && entry2.visual_order == 0));
162 } 162 }
163 163
164 TEST_F(StarredURLDatabaseTest, FixGroupCycleDepth0) { 164 TEST_F(StarredURLDatabaseTest, FixGroupCycleDepth0) {
165 const size_t initial_count = GetStarredEntryCount(); 165 const int initial_count = GetStarredEntryCount();
166 166
167 // Create a group that is parented to itself. 167 // Create a group that is parented to itself.
168 StarredEntry entry1; 168 StarredEntry entry1;
169 entry1.group_id = entry1.parent_group_id = 100; 169 entry1.group_id = entry1.parent_group_id = 100;
170 entry1.visual_order = 10; 170 entry1.visual_order = 10;
171 entry1.type = StarredEntry::USER_GROUP; 171 entry1.type = StarredEntry::USER_GROUP;
172 CreateStarredEntry(&entry1); 172 CreateStarredEntry(&entry1);
173 173
174 ASSERT_TRUE(EnsureStarredIntegrity()); 174 ASSERT_TRUE(EnsureStarredIntegrity());
175 175
176 // Make sure no new entries were added. 176 // Make sure no new entries were added.
177 ASSERT_EQ(initial_count + 1, GetStarredEntryCount()); 177 ASSERT_EQ(initial_count + 1, GetStarredEntryCount());
178 178
179 // Make sure the group were moved to the bookmark bar and the visual order 179 // Make sure the group were moved to the bookmark bar and the visual order
180 // order was updated appropriately. 180 // order was updated appropriately.
181 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); 181 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1));
182 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_group_id); 182 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_group_id);
183 ASSERT_EQ(0, entry1.visual_order); 183 ASSERT_EQ(0, entry1.visual_order);
184 } 184 }
185 185
186 TEST_F(StarredURLDatabaseTest, FixGroupCycleDepth1) { 186 TEST_F(StarredURLDatabaseTest, FixGroupCycleDepth1) {
187 const size_t initial_count = GetStarredEntryCount(); 187 const int initial_count = GetStarredEntryCount();
188 188
189 StarredEntry entry1; 189 StarredEntry entry1;
190 entry1.group_id = 100; 190 entry1.group_id = 100;
191 entry1.parent_group_id = 101; 191 entry1.parent_group_id = 101;
192 entry1.visual_order = 10; 192 entry1.visual_order = 10;
193 entry1.type = StarredEntry::USER_GROUP; 193 entry1.type = StarredEntry::USER_GROUP;
194 CreateStarredEntry(&entry1); 194 CreateStarredEntry(&entry1);
195 195
196 StarredEntry entry2; 196 StarredEntry entry2;
197 entry2.group_id = 101; 197 entry2.group_id = 101;
(...skipping 11 matching lines...) Expand all
209 // breaks the cycle. 209 // breaks the cycle.
210 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1)); 210 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry1));
211 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2)); 211 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry2));
212 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_group_id); 212 ASSERT_EQ(HistoryService::kBookmarkBarID, entry1.parent_group_id);
213 ASSERT_EQ(100, entry2.parent_group_id); 213 ASSERT_EQ(100, entry2.parent_group_id);
214 ASSERT_EQ(0, entry1.visual_order); 214 ASSERT_EQ(0, entry1.visual_order);
215 ASSERT_EQ(0, entry2.visual_order); 215 ASSERT_EQ(0, entry2.visual_order);
216 } 216 }
217 217
218 TEST_F(StarredURLDatabaseTest, FixVisualOrder) { 218 TEST_F(StarredURLDatabaseTest, FixVisualOrder) {
219 const size_t initial_count = GetStarredEntryCount(); 219 const int initial_count = GetStarredEntryCount();
220 220
221 // Star two urls. 221 // Star two urls.
222 StarredEntry entry1; 222 StarredEntry entry1;
223 entry1.url = GURL(L"http://google.com/1"); 223 entry1.url = GURL("http://google.com/1");
224 entry1.parent_group_id = HistoryService::kBookmarkBarID; 224 entry1.parent_group_id = HistoryService::kBookmarkBarID;
225 entry1.visual_order = 5; 225 entry1.visual_order = 5;
226 CreateStarredEntry(&entry1); 226 CreateStarredEntry(&entry1);
227 227
228 // Add url2 and star it. 228 // Add url2 and star it.
229 StarredEntry entry2; 229 StarredEntry entry2;
230 entry2.url = GURL(L"http://google.com/2"); 230 entry2.url = GURL("http://google.com/2");
231 entry2.parent_group_id = HistoryService::kBookmarkBarID; 231 entry2.parent_group_id = HistoryService::kBookmarkBarID;
232 entry2.visual_order = 10; 232 entry2.visual_order = 10;
233 CreateStarredEntry(&entry2); 233 CreateStarredEntry(&entry2);
234 234
235 ASSERT_TRUE(EnsureStarredIntegrity()); 235 ASSERT_TRUE(EnsureStarredIntegrity());
236 236
237 // Make sure no new entries were added. 237 // Make sure no new entries were added.
238 ASSERT_EQ(initial_count + 2, GetStarredEntryCount()); 238 ASSERT_EQ(initial_count + 2, GetStarredEntryCount());
239 239
240 StarredEntry entry; 240 StarredEntry entry;
241 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry)); 241 ASSERT_TRUE(GetStarredEntry(entry1.id, &entry));
242 entry1.visual_order = 0; 242 entry1.visual_order = 0;
243 CompareEntryByID(entry1); 243 CompareEntryByID(entry1);
244 244
245 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry)); 245 ASSERT_TRUE(GetStarredEntry(entry2.id, &entry));
246 entry2.visual_order = 1; 246 entry2.visual_order = 1;
247 CompareEntryByID(entry2); 247 CompareEntryByID(entry2);
248 } 248 }
249 249
250 TEST_F(StarredURLDatabaseTest, FixDuplicateGroupIDs) { 250 TEST_F(StarredURLDatabaseTest, FixDuplicateGroupIDs) {
251 const size_t initial_count = GetStarredEntryCount(); 251 const int initial_count = GetStarredEntryCount();
252 252
253 // Create two groups with the same group id. 253 // Create two groups with the same group id.
254 StarredEntry entry1; 254 StarredEntry entry1;
255 entry1.type = StarredEntry::USER_GROUP; 255 entry1.type = StarredEntry::USER_GROUP;
256 entry1.group_id = 10; 256 entry1.group_id = 10;
257 entry1.parent_group_id = HistoryService::kBookmarkBarID; 257 entry1.parent_group_id = HistoryService::kBookmarkBarID;
258 CreateStarredEntry(&entry1); 258 CreateStarredEntry(&entry1);
259 StarredEntry entry2 = entry1; 259 StarredEntry entry2 = entry1;
260 CreateStarredEntry(&entry2); 260 CreateStarredEntry(&entry2);
261 261
(...skipping 22 matching lines...) Expand all
284 284
285 // Fix up the table. 285 // Fix up the table.
286 ASSERT_TRUE(EnsureStarredIntegrity()); 286 ASSERT_TRUE(EnsureStarredIntegrity());
287 287
288 // The entry we just created should have been nuked. 288 // The entry we just created should have been nuked.
289 ASSERT_EQ(initial_count, GetStarredEntryCount()); 289 ASSERT_EQ(initial_count, GetStarredEntryCount());
290 } 290 }
291 291
292 } // namespace history 292 } // namespace history
293 293
OLDNEW
« no previous file with comments | « chrome/browser/history/query_parser_unittest.cc ('k') | chrome/browser/history/text_database_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698