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

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

Issue 562603002: Move PageTransition from //content/public/common to //ui/base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 3 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) 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 // History unit tests come in two flavors: 5 // History unit tests come in two flavors:
6 // 6 //
7 // 1. The more complicated style is that the unit test creates a full history 7 // 1. The more complicated style is that the unit test creates a full history
8 // service. This spawns a background thread for the history backend, and 8 // service. This spawns a background thread for the history backend, and
9 // all communication is asynchronous. This is useful for testing more 9 // all communication is asynchronous. This is useful for testing more
10 // complicated things or end-to-end behavior. 10 // complicated things or end-to-end behavior.
(...skipping 1101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 URLRow query_url_row_; 1112 URLRow query_url_row_;
1113 VisitVector query_url_visits_; 1113 VisitVector query_url_visits_;
1114 }; 1114 };
1115 1115
1116 TEST_F(HistoryTest, AddPage) { 1116 TEST_F(HistoryTest, AddPage) {
1117 ASSERT_TRUE(history_service_.get()); 1117 ASSERT_TRUE(history_service_.get());
1118 // Add the page once from a child frame. 1118 // Add the page once from a child frame.
1119 const GURL test_url("http://www.google.com/"); 1119 const GURL test_url("http://www.google.com/");
1120 history_service_->AddPage(test_url, base::Time::Now(), NULL, 0, GURL(), 1120 history_service_->AddPage(test_url, base::Time::Now(), NULL, 0, GURL(),
1121 history::RedirectList(), 1121 history::RedirectList(),
1122 content::PAGE_TRANSITION_MANUAL_SUBFRAME, 1122 ui::PAGE_TRANSITION_MANUAL_SUBFRAME,
1123 history::SOURCE_BROWSED, false); 1123 history::SOURCE_BROWSED, false);
1124 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1124 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1125 EXPECT_EQ(1, query_url_row_.visit_count()); 1125 EXPECT_EQ(1, query_url_row_.visit_count());
1126 EXPECT_EQ(0, query_url_row_.typed_count()); 1126 EXPECT_EQ(0, query_url_row_.typed_count());
1127 EXPECT_TRUE(query_url_row_.hidden()); // Hidden because of child frame. 1127 EXPECT_TRUE(query_url_row_.hidden()); // Hidden because of child frame.
1128 1128
1129 // Add the page once from the main frame (should unhide it). 1129 // Add the page once from the main frame (should unhide it).
1130 history_service_->AddPage(test_url, base::Time::Now(), NULL, 0, GURL(), 1130 history_service_->AddPage(test_url, base::Time::Now(), NULL, 0, GURL(),
1131 history::RedirectList(), content::PAGE_TRANSITION_LINK, 1131 history::RedirectList(), ui::PAGE_TRANSITION_LINK,
1132 history::SOURCE_BROWSED, false); 1132 history::SOURCE_BROWSED, false);
1133 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1133 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1134 EXPECT_EQ(2, query_url_row_.visit_count()); // Added twice. 1134 EXPECT_EQ(2, query_url_row_.visit_count()); // Added twice.
1135 EXPECT_EQ(0, query_url_row_.typed_count()); // Never typed. 1135 EXPECT_EQ(0, query_url_row_.typed_count()); // Never typed.
1136 EXPECT_FALSE(query_url_row_.hidden()); // Because loaded in main frame. 1136 EXPECT_FALSE(query_url_row_.hidden()); // Because loaded in main frame.
1137 } 1137 }
1138 1138
1139 TEST_F(HistoryTest, AddRedirect) { 1139 TEST_F(HistoryTest, AddRedirect) {
1140 ASSERT_TRUE(history_service_.get()); 1140 ASSERT_TRUE(history_service_.get());
1141 const char* first_sequence[] = { 1141 const char* first_sequence[] = {
1142 "http://first.page.com/", 1142 "http://first.page.com/",
1143 "http://second.page.com/"}; 1143 "http://second.page.com/"};
1144 int first_count = arraysize(first_sequence); 1144 int first_count = arraysize(first_sequence);
1145 history::RedirectList first_redirects; 1145 history::RedirectList first_redirects;
1146 for (int i = 0; i < first_count; i++) 1146 for (int i = 0; i < first_count; i++)
1147 first_redirects.push_back(GURL(first_sequence[i])); 1147 first_redirects.push_back(GURL(first_sequence[i]));
1148 1148
1149 // Add the sequence of pages as a server with no referrer. Note that we need 1149 // Add the sequence of pages as a server with no referrer. Note that we need
1150 // to have a non-NULL page ID scope. 1150 // to have a non-NULL page ID scope.
1151 history_service_->AddPage( 1151 history_service_->AddPage(
1152 first_redirects.back(), base::Time::Now(), 1152 first_redirects.back(), base::Time::Now(),
1153 reinterpret_cast<ContextID>(1), 0, GURL(), first_redirects, 1153 reinterpret_cast<ContextID>(1), 0, GURL(), first_redirects,
1154 content::PAGE_TRANSITION_LINK, history::SOURCE_BROWSED, true); 1154 ui::PAGE_TRANSITION_LINK, history::SOURCE_BROWSED, true);
1155 1155
1156 // The first page should be added once with a link visit type (because we set 1156 // The first page should be added once with a link visit type (because we set
1157 // LINK when we added the original URL, and a referrer of nowhere (0). 1157 // LINK when we added the original URL, and a referrer of nowhere (0).
1158 EXPECT_TRUE(QueryURL(history_service_.get(), first_redirects[0])); 1158 EXPECT_TRUE(QueryURL(history_service_.get(), first_redirects[0]));
1159 EXPECT_EQ(1, query_url_row_.visit_count()); 1159 EXPECT_EQ(1, query_url_row_.visit_count());
1160 ASSERT_EQ(1U, query_url_visits_.size()); 1160 ASSERT_EQ(1U, query_url_visits_.size());
1161 int64 first_visit = query_url_visits_[0].visit_id; 1161 int64 first_visit = query_url_visits_[0].visit_id;
1162 EXPECT_EQ(content::PAGE_TRANSITION_LINK | 1162 EXPECT_EQ(ui::PAGE_TRANSITION_LINK |
1163 content::PAGE_TRANSITION_CHAIN_START, 1163 ui::PAGE_TRANSITION_CHAIN_START,
1164 query_url_visits_[0].transition); 1164 query_url_visits_[0].transition);
1165 EXPECT_EQ(0, query_url_visits_[0].referring_visit); // No referrer. 1165 EXPECT_EQ(0, query_url_visits_[0].referring_visit); // No referrer.
1166 1166
1167 // The second page should be a server redirect type with a referrer of the 1167 // The second page should be a server redirect type with a referrer of the
1168 // first page. 1168 // first page.
1169 EXPECT_TRUE(QueryURL(history_service_.get(), first_redirects[1])); 1169 EXPECT_TRUE(QueryURL(history_service_.get(), first_redirects[1]));
1170 EXPECT_EQ(1, query_url_row_.visit_count()); 1170 EXPECT_EQ(1, query_url_row_.visit_count());
1171 ASSERT_EQ(1U, query_url_visits_.size()); 1171 ASSERT_EQ(1U, query_url_visits_.size());
1172 int64 second_visit = query_url_visits_[0].visit_id; 1172 int64 second_visit = query_url_visits_[0].visit_id;
1173 EXPECT_EQ(content::PAGE_TRANSITION_SERVER_REDIRECT | 1173 EXPECT_EQ(ui::PAGE_TRANSITION_SERVER_REDIRECT |
1174 content::PAGE_TRANSITION_CHAIN_END, 1174 ui::PAGE_TRANSITION_CHAIN_END,
1175 query_url_visits_[0].transition); 1175 query_url_visits_[0].transition);
1176 EXPECT_EQ(first_visit, query_url_visits_[0].referring_visit); 1176 EXPECT_EQ(first_visit, query_url_visits_[0].referring_visit);
1177 1177
1178 // Check that the redirect finding function successfully reports it. 1178 // Check that the redirect finding function successfully reports it.
1179 saved_redirects_.clear(); 1179 saved_redirects_.clear();
1180 QueryRedirectsFrom(history_service_.get(), first_redirects[0]); 1180 QueryRedirectsFrom(history_service_.get(), first_redirects[0]);
1181 ASSERT_EQ(1U, saved_redirects_.size()); 1181 ASSERT_EQ(1U, saved_redirects_.size());
1182 EXPECT_EQ(first_redirects[1], saved_redirects_[0]); 1182 EXPECT_EQ(first_redirects[1], saved_redirects_[0]);
1183 1183
1184 // Now add a client redirect from that second visit to a third, client 1184 // Now add a client redirect from that second visit to a third, client
1185 // redirects are tracked by the RenderView prior to updating history, 1185 // redirects are tracked by the RenderView prior to updating history,
1186 // so we pass in a CLIENT_REDIRECT qualifier to mock that behavior. 1186 // so we pass in a CLIENT_REDIRECT qualifier to mock that behavior.
1187 history::RedirectList second_redirects; 1187 history::RedirectList second_redirects;
1188 second_redirects.push_back(first_redirects[1]); 1188 second_redirects.push_back(first_redirects[1]);
1189 second_redirects.push_back(GURL("http://last.page.com/")); 1189 second_redirects.push_back(GURL("http://last.page.com/"));
1190 history_service_->AddPage(second_redirects[1], base::Time::Now(), 1190 history_service_->AddPage(second_redirects[1], base::Time::Now(),
1191 reinterpret_cast<ContextID>(1), 1, 1191 reinterpret_cast<ContextID>(1), 1,
1192 second_redirects[0], second_redirects, 1192 second_redirects[0], second_redirects,
1193 static_cast<content::PageTransition>( 1193 ui::PageTransitionFromInt(
1194 content::PAGE_TRANSITION_LINK | 1194 ui::PAGE_TRANSITION_LINK |
1195 content::PAGE_TRANSITION_CLIENT_REDIRECT), 1195 ui::PAGE_TRANSITION_CLIENT_REDIRECT),
1196 history::SOURCE_BROWSED, true); 1196 history::SOURCE_BROWSED, true);
1197 1197
1198 // The last page (source of the client redirect) should NOT have an 1198 // The last page (source of the client redirect) should NOT have an
1199 // additional visit added, because it was a client redirect (normally it 1199 // additional visit added, because it was a client redirect (normally it
1200 // would). We should only have 1 left over from the first sequence. 1200 // would). We should only have 1 left over from the first sequence.
1201 EXPECT_TRUE(QueryURL(history_service_.get(), second_redirects[0])); 1201 EXPECT_TRUE(QueryURL(history_service_.get(), second_redirects[0]));
1202 EXPECT_EQ(1, query_url_row_.visit_count()); 1202 EXPECT_EQ(1, query_url_row_.visit_count());
1203 1203
1204 // The final page should be set as a client redirect from the previous visit. 1204 // The final page should be set as a client redirect from the previous visit.
1205 EXPECT_TRUE(QueryURL(history_service_.get(), second_redirects[1])); 1205 EXPECT_TRUE(QueryURL(history_service_.get(), second_redirects[1]));
1206 EXPECT_EQ(1, query_url_row_.visit_count()); 1206 EXPECT_EQ(1, query_url_row_.visit_count());
1207 ASSERT_EQ(1U, query_url_visits_.size()); 1207 ASSERT_EQ(1U, query_url_visits_.size());
1208 EXPECT_EQ(content::PAGE_TRANSITION_CLIENT_REDIRECT | 1208 EXPECT_EQ(ui::PAGE_TRANSITION_CLIENT_REDIRECT |
1209 content::PAGE_TRANSITION_CHAIN_END, 1209 ui::PAGE_TRANSITION_CHAIN_END,
1210 query_url_visits_[0].transition); 1210 query_url_visits_[0].transition);
1211 EXPECT_EQ(second_visit, query_url_visits_[0].referring_visit); 1211 EXPECT_EQ(second_visit, query_url_visits_[0].referring_visit);
1212 } 1212 }
1213 1213
1214 TEST_F(HistoryTest, MakeIntranetURLsTyped) { 1214 TEST_F(HistoryTest, MakeIntranetURLsTyped) {
1215 ASSERT_TRUE(history_service_.get()); 1215 ASSERT_TRUE(history_service_.get());
1216 1216
1217 // Add a non-typed visit to an intranet URL on an unvisited host. This should 1217 // Add a non-typed visit to an intranet URL on an unvisited host. This should
1218 // get promoted to a typed visit. 1218 // get promoted to a typed visit.
1219 const GURL test_url("http://intranet_host/path"); 1219 const GURL test_url("http://intranet_host/path");
1220 history_service_->AddPage( 1220 history_service_->AddPage(
1221 test_url, base::Time::Now(), NULL, 0, GURL(), 1221 test_url, base::Time::Now(), NULL, 0, GURL(),
1222 history::RedirectList(), content::PAGE_TRANSITION_LINK, 1222 history::RedirectList(), ui::PAGE_TRANSITION_LINK,
1223 history::SOURCE_BROWSED, false); 1223 history::SOURCE_BROWSED, false);
1224 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1224 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1225 EXPECT_EQ(1, query_url_row_.visit_count()); 1225 EXPECT_EQ(1, query_url_row_.visit_count());
1226 EXPECT_EQ(1, query_url_row_.typed_count()); 1226 EXPECT_EQ(1, query_url_row_.typed_count());
1227 ASSERT_EQ(1U, query_url_visits_.size()); 1227 ASSERT_EQ(1U, query_url_visits_.size());
1228 EXPECT_EQ(content::PAGE_TRANSITION_TYPED, 1228 EXPECT_EQ(ui::PAGE_TRANSITION_TYPED,
1229 content::PageTransitionStripQualifier(query_url_visits_[0].transition)); 1229 ui::PageTransitionStripQualifier(query_url_visits_[0].transition));
1230 1230
1231 // Add more visits on the same host. None of these should be promoted since 1231 // Add more visits on the same host. None of these should be promoted since
1232 // there is already a typed visit. 1232 // there is already a typed visit.
1233 1233
1234 // Different path. 1234 // Different path.
1235 const GURL test_url2("http://intranet_host/different_path"); 1235 const GURL test_url2("http://intranet_host/different_path");
1236 history_service_->AddPage( 1236 history_service_->AddPage(
1237 test_url2, base::Time::Now(), NULL, 0, GURL(), 1237 test_url2, base::Time::Now(), NULL, 0, GURL(),
1238 history::RedirectList(), content::PAGE_TRANSITION_LINK, 1238 history::RedirectList(), ui::PAGE_TRANSITION_LINK,
1239 history::SOURCE_BROWSED, false); 1239 history::SOURCE_BROWSED, false);
1240 EXPECT_TRUE(QueryURL(history_service_.get(), test_url2)); 1240 EXPECT_TRUE(QueryURL(history_service_.get(), test_url2));
1241 EXPECT_EQ(1, query_url_row_.visit_count()); 1241 EXPECT_EQ(1, query_url_row_.visit_count());
1242 EXPECT_EQ(0, query_url_row_.typed_count()); 1242 EXPECT_EQ(0, query_url_row_.typed_count());
1243 ASSERT_EQ(1U, query_url_visits_.size()); 1243 ASSERT_EQ(1U, query_url_visits_.size());
1244 EXPECT_EQ(content::PAGE_TRANSITION_LINK, 1244 EXPECT_EQ(ui::PAGE_TRANSITION_LINK,
1245 content::PageTransitionStripQualifier(query_url_visits_[0].transition)); 1245 ui::PageTransitionStripQualifier(query_url_visits_[0].transition));
1246 1246
1247 // No path. 1247 // No path.
1248 const GURL test_url3("http://intranet_host/"); 1248 const GURL test_url3("http://intranet_host/");
1249 history_service_->AddPage( 1249 history_service_->AddPage(
1250 test_url3, base::Time::Now(), NULL, 0, GURL(), 1250 test_url3, base::Time::Now(), NULL, 0, GURL(),
1251 history::RedirectList(), content::PAGE_TRANSITION_LINK, 1251 history::RedirectList(), ui::PAGE_TRANSITION_LINK,
1252 history::SOURCE_BROWSED, false); 1252 history::SOURCE_BROWSED, false);
1253 EXPECT_TRUE(QueryURL(history_service_.get(), test_url3)); 1253 EXPECT_TRUE(QueryURL(history_service_.get(), test_url3));
1254 EXPECT_EQ(1, query_url_row_.visit_count()); 1254 EXPECT_EQ(1, query_url_row_.visit_count());
1255 EXPECT_EQ(0, query_url_row_.typed_count()); 1255 EXPECT_EQ(0, query_url_row_.typed_count());
1256 ASSERT_EQ(1U, query_url_visits_.size()); 1256 ASSERT_EQ(1U, query_url_visits_.size());
1257 EXPECT_EQ(content::PAGE_TRANSITION_LINK, 1257 EXPECT_EQ(ui::PAGE_TRANSITION_LINK,
1258 content::PageTransitionStripQualifier(query_url_visits_[0].transition)); 1258 ui::PageTransitionStripQualifier(query_url_visits_[0].transition));
1259 1259
1260 // Different scheme. 1260 // Different scheme.
1261 const GURL test_url4("https://intranet_host/"); 1261 const GURL test_url4("https://intranet_host/");
1262 history_service_->AddPage( 1262 history_service_->AddPage(
1263 test_url4, base::Time::Now(), NULL, 0, GURL(), 1263 test_url4, base::Time::Now(), NULL, 0, GURL(),
1264 history::RedirectList(), content::PAGE_TRANSITION_LINK, 1264 history::RedirectList(), ui::PAGE_TRANSITION_LINK,
1265 history::SOURCE_BROWSED, false); 1265 history::SOURCE_BROWSED, false);
1266 EXPECT_TRUE(QueryURL(history_service_.get(), test_url4)); 1266 EXPECT_TRUE(QueryURL(history_service_.get(), test_url4));
1267 EXPECT_EQ(1, query_url_row_.visit_count()); 1267 EXPECT_EQ(1, query_url_row_.visit_count());
1268 EXPECT_EQ(0, query_url_row_.typed_count()); 1268 EXPECT_EQ(0, query_url_row_.typed_count());
1269 ASSERT_EQ(1U, query_url_visits_.size()); 1269 ASSERT_EQ(1U, query_url_visits_.size());
1270 EXPECT_EQ(content::PAGE_TRANSITION_LINK, 1270 EXPECT_EQ(ui::PAGE_TRANSITION_LINK,
1271 content::PageTransitionStripQualifier(query_url_visits_[0].transition)); 1271 ui::PageTransitionStripQualifier(query_url_visits_[0].transition));
1272 1272
1273 // Different transition. 1273 // Different transition.
1274 const GURL test_url5("http://intranet_host/another_path"); 1274 const GURL test_url5("http://intranet_host/another_path");
1275 history_service_->AddPage( 1275 history_service_->AddPage(
1276 test_url5, base::Time::Now(), NULL, 0, GURL(), 1276 test_url5, base::Time::Now(), NULL, 0, GURL(),
1277 history::RedirectList(), 1277 history::RedirectList(),
1278 content::PAGE_TRANSITION_AUTO_BOOKMARK, 1278 ui::PAGE_TRANSITION_AUTO_BOOKMARK,
1279 history::SOURCE_BROWSED, false); 1279 history::SOURCE_BROWSED, false);
1280 EXPECT_TRUE(QueryURL(history_service_.get(), test_url5)); 1280 EXPECT_TRUE(QueryURL(history_service_.get(), test_url5));
1281 EXPECT_EQ(1, query_url_row_.visit_count()); 1281 EXPECT_EQ(1, query_url_row_.visit_count());
1282 EXPECT_EQ(0, query_url_row_.typed_count()); 1282 EXPECT_EQ(0, query_url_row_.typed_count());
1283 ASSERT_EQ(1U, query_url_visits_.size()); 1283 ASSERT_EQ(1U, query_url_visits_.size());
1284 EXPECT_EQ(content::PAGE_TRANSITION_AUTO_BOOKMARK, 1284 EXPECT_EQ(ui::PAGE_TRANSITION_AUTO_BOOKMARK,
1285 content::PageTransitionStripQualifier(query_url_visits_[0].transition)); 1285 ui::PageTransitionStripQualifier(query_url_visits_[0].transition));
1286 1286
1287 // Original URL. 1287 // Original URL.
1288 history_service_->AddPage( 1288 history_service_->AddPage(
1289 test_url, base::Time::Now(), NULL, 0, GURL(), 1289 test_url, base::Time::Now(), NULL, 0, GURL(),
1290 history::RedirectList(), content::PAGE_TRANSITION_LINK, 1290 history::RedirectList(), ui::PAGE_TRANSITION_LINK,
1291 history::SOURCE_BROWSED, false); 1291 history::SOURCE_BROWSED, false);
1292 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1292 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1293 EXPECT_EQ(2, query_url_row_.visit_count()); 1293 EXPECT_EQ(2, query_url_row_.visit_count());
1294 EXPECT_EQ(1, query_url_row_.typed_count()); 1294 EXPECT_EQ(1, query_url_row_.typed_count());
1295 ASSERT_EQ(2U, query_url_visits_.size()); 1295 ASSERT_EQ(2U, query_url_visits_.size());
1296 EXPECT_EQ(content::PAGE_TRANSITION_LINK, 1296 EXPECT_EQ(ui::PAGE_TRANSITION_LINK,
1297 content::PageTransitionStripQualifier(query_url_visits_[1].transition)); 1297 ui::PageTransitionStripQualifier(query_url_visits_[1].transition));
1298 } 1298 }
1299 1299
1300 TEST_F(HistoryTest, Typed) { 1300 TEST_F(HistoryTest, Typed) {
1301 const ContextID context_id = reinterpret_cast<ContextID>(1); 1301 const ContextID context_id = reinterpret_cast<ContextID>(1);
1302 1302
1303 ASSERT_TRUE(history_service_.get()); 1303 ASSERT_TRUE(history_service_.get());
1304 1304
1305 // Add the page once as typed. 1305 // Add the page once as typed.
1306 const GURL test_url("http://www.google.com/"); 1306 const GURL test_url("http://www.google.com/");
1307 history_service_->AddPage( 1307 history_service_->AddPage(
1308 test_url, base::Time::Now(), context_id, 0, GURL(), 1308 test_url, base::Time::Now(), context_id, 0, GURL(),
1309 history::RedirectList(), content::PAGE_TRANSITION_TYPED, 1309 history::RedirectList(), ui::PAGE_TRANSITION_TYPED,
1310 history::SOURCE_BROWSED, false); 1310 history::SOURCE_BROWSED, false);
1311 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1311 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1312 1312
1313 // We should have the same typed & visit count. 1313 // We should have the same typed & visit count.
1314 EXPECT_EQ(1, query_url_row_.visit_count()); 1314 EXPECT_EQ(1, query_url_row_.visit_count());
1315 EXPECT_EQ(1, query_url_row_.typed_count()); 1315 EXPECT_EQ(1, query_url_row_.typed_count());
1316 1316
1317 // Add the page again not typed. 1317 // Add the page again not typed.
1318 history_service_->AddPage( 1318 history_service_->AddPage(
1319 test_url, base::Time::Now(), context_id, 0, GURL(), 1319 test_url, base::Time::Now(), context_id, 0, GURL(),
1320 history::RedirectList(), content::PAGE_TRANSITION_LINK, 1320 history::RedirectList(), ui::PAGE_TRANSITION_LINK,
1321 history::SOURCE_BROWSED, false); 1321 history::SOURCE_BROWSED, false);
1322 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1322 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1323 1323
1324 // The second time should not have updated the typed count. 1324 // The second time should not have updated the typed count.
1325 EXPECT_EQ(2, query_url_row_.visit_count()); 1325 EXPECT_EQ(2, query_url_row_.visit_count());
1326 EXPECT_EQ(1, query_url_row_.typed_count()); 1326 EXPECT_EQ(1, query_url_row_.typed_count());
1327 1327
1328 // Add the page again as a generated URL. 1328 // Add the page again as a generated URL.
1329 history_service_->AddPage( 1329 history_service_->AddPage(
1330 test_url, base::Time::Now(), context_id, 0, GURL(), 1330 test_url, base::Time::Now(), context_id, 0, GURL(),
1331 history::RedirectList(), content::PAGE_TRANSITION_GENERATED, 1331 history::RedirectList(), ui::PAGE_TRANSITION_GENERATED,
1332 history::SOURCE_BROWSED, false); 1332 history::SOURCE_BROWSED, false);
1333 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1333 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1334 1334
1335 // This should have worked like a link click. 1335 // This should have worked like a link click.
1336 EXPECT_EQ(3, query_url_row_.visit_count()); 1336 EXPECT_EQ(3, query_url_row_.visit_count());
1337 EXPECT_EQ(1, query_url_row_.typed_count()); 1337 EXPECT_EQ(1, query_url_row_.typed_count());
1338 1338
1339 // Add the page again as a reload. 1339 // Add the page again as a reload.
1340 history_service_->AddPage( 1340 history_service_->AddPage(
1341 test_url, base::Time::Now(), context_id, 0, GURL(), 1341 test_url, base::Time::Now(), context_id, 0, GURL(),
1342 history::RedirectList(), content::PAGE_TRANSITION_RELOAD, 1342 history::RedirectList(), ui::PAGE_TRANSITION_RELOAD,
1343 history::SOURCE_BROWSED, false); 1343 history::SOURCE_BROWSED, false);
1344 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1344 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1345 1345
1346 // This should not have incremented any visit counts. 1346 // This should not have incremented any visit counts.
1347 EXPECT_EQ(3, query_url_row_.visit_count()); 1347 EXPECT_EQ(3, query_url_row_.visit_count());
1348 EXPECT_EQ(1, query_url_row_.typed_count()); 1348 EXPECT_EQ(1, query_url_row_.typed_count());
1349 } 1349 }
1350 1350
1351 TEST_F(HistoryTest, SetTitle) { 1351 TEST_F(HistoryTest, SetTitle) {
1352 ASSERT_TRUE(history_service_.get()); 1352 ASSERT_TRUE(history_service_.get());
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1384 const GURL url1("http://www.google.com/url1/"); 1384 const GURL url1("http://www.google.com/url1/");
1385 const GURL url2("http://www.google.com/url2/"); 1385 const GURL url2("http://www.google.com/url2/");
1386 const GURL url3("http://www.google.com/url3/"); 1386 const GURL url3("http://www.google.com/url3/");
1387 const GURL url4("http://www.google.com/url4/"); 1387 const GURL url4("http://www.google.com/url4/");
1388 1388
1389 const ContextID context_id = reinterpret_cast<ContextID>(1); 1389 const ContextID context_id = reinterpret_cast<ContextID>(1);
1390 1390
1391 // Add two pages. 1391 // Add two pages.
1392 history_service_->AddPage( 1392 history_service_->AddPage(
1393 url0, base::Time::Now(), context_id, 0, GURL(), 1393 url0, base::Time::Now(), context_id, 0, GURL(),
1394 history::RedirectList(), content::PAGE_TRANSITION_TYPED, 1394 history::RedirectList(), ui::PAGE_TRANSITION_TYPED,
1395 history::SOURCE_BROWSED, false); 1395 history::SOURCE_BROWSED, false);
1396 history_service_->AddPage( 1396 history_service_->AddPage(
1397 url1, base::Time::Now(), context_id, 0, GURL(), 1397 url1, base::Time::Now(), context_id, 0, GURL(),
1398 history::RedirectList(), content::PAGE_TRANSITION_TYPED, 1398 history::RedirectList(), ui::PAGE_TRANSITION_TYPED,
1399 history::SOURCE_BROWSED, false); 1399 history::SOURCE_BROWSED, false);
1400 history_service_->QueryMostVisitedURLs( 1400 history_service_->QueryMostVisitedURLs(
1401 20, 1401 20,
1402 90, 1402 90,
1403 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable, 1403 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable,
1404 base::Unretained(this)), 1404 base::Unretained(this)),
1405 &tracker_); 1405 &tracker_);
1406 base::MessageLoop::current()->Run(); 1406 base::MessageLoop::current()->Run();
1407 1407
1408 EXPECT_EQ(2U, most_visited_urls_.size()); 1408 EXPECT_EQ(2U, most_visited_urls_.size());
1409 EXPECT_EQ(url0, most_visited_urls_[0].url); 1409 EXPECT_EQ(url0, most_visited_urls_[0].url);
1410 EXPECT_EQ(url1, most_visited_urls_[1].url); 1410 EXPECT_EQ(url1, most_visited_urls_[1].url);
1411 1411
1412 // Add another page. 1412 // Add another page.
1413 history_service_->AddPage( 1413 history_service_->AddPage(
1414 url2, base::Time::Now(), context_id, 0, GURL(), 1414 url2, base::Time::Now(), context_id, 0, GURL(),
1415 history::RedirectList(), content::PAGE_TRANSITION_TYPED, 1415 history::RedirectList(), ui::PAGE_TRANSITION_TYPED,
1416 history::SOURCE_BROWSED, false); 1416 history::SOURCE_BROWSED, false);
1417 history_service_->QueryMostVisitedURLs( 1417 history_service_->QueryMostVisitedURLs(
1418 20, 1418 20,
1419 90, 1419 90,
1420 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable, 1420 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable,
1421 base::Unretained(this)), 1421 base::Unretained(this)),
1422 &tracker_); 1422 &tracker_);
1423 base::MessageLoop::current()->Run(); 1423 base::MessageLoop::current()->Run();
1424 1424
1425 EXPECT_EQ(3U, most_visited_urls_.size()); 1425 EXPECT_EQ(3U, most_visited_urls_.size());
1426 EXPECT_EQ(url0, most_visited_urls_[0].url); 1426 EXPECT_EQ(url0, most_visited_urls_[0].url);
1427 EXPECT_EQ(url1, most_visited_urls_[1].url); 1427 EXPECT_EQ(url1, most_visited_urls_[1].url);
1428 EXPECT_EQ(url2, most_visited_urls_[2].url); 1428 EXPECT_EQ(url2, most_visited_urls_[2].url);
1429 1429
1430 // Revisit url2, making it the top URL. 1430 // Revisit url2, making it the top URL.
1431 history_service_->AddPage( 1431 history_service_->AddPage(
1432 url2, base::Time::Now(), context_id, 0, GURL(), 1432 url2, base::Time::Now(), context_id, 0, GURL(),
1433 history::RedirectList(), content::PAGE_TRANSITION_TYPED, 1433 history::RedirectList(), ui::PAGE_TRANSITION_TYPED,
1434 history::SOURCE_BROWSED, false); 1434 history::SOURCE_BROWSED, false);
1435 history_service_->QueryMostVisitedURLs( 1435 history_service_->QueryMostVisitedURLs(
1436 20, 1436 20,
1437 90, 1437 90,
1438 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable, 1438 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable,
1439 base::Unretained(this)), 1439 base::Unretained(this)),
1440 &tracker_); 1440 &tracker_);
1441 base::MessageLoop::current()->Run(); 1441 base::MessageLoop::current()->Run();
1442 1442
1443 EXPECT_EQ(3U, most_visited_urls_.size()); 1443 EXPECT_EQ(3U, most_visited_urls_.size());
1444 EXPECT_EQ(url2, most_visited_urls_[0].url); 1444 EXPECT_EQ(url2, most_visited_urls_[0].url);
1445 EXPECT_EQ(url0, most_visited_urls_[1].url); 1445 EXPECT_EQ(url0, most_visited_urls_[1].url);
1446 EXPECT_EQ(url1, most_visited_urls_[2].url); 1446 EXPECT_EQ(url1, most_visited_urls_[2].url);
1447 1447
1448 // Revisit url1, making it the top URL. 1448 // Revisit url1, making it the top URL.
1449 history_service_->AddPage( 1449 history_service_->AddPage(
1450 url1, base::Time::Now(), context_id, 0, GURL(), 1450 url1, base::Time::Now(), context_id, 0, GURL(),
1451 history::RedirectList(), content::PAGE_TRANSITION_TYPED, 1451 history::RedirectList(), ui::PAGE_TRANSITION_TYPED,
1452 history::SOURCE_BROWSED, false); 1452 history::SOURCE_BROWSED, false);
1453 history_service_->QueryMostVisitedURLs( 1453 history_service_->QueryMostVisitedURLs(
1454 20, 1454 20,
1455 90, 1455 90,
1456 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable, 1456 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable,
1457 base::Unretained(this)), 1457 base::Unretained(this)),
1458 &tracker_); 1458 &tracker_);
1459 base::MessageLoop::current()->Run(); 1459 base::MessageLoop::current()->Run();
1460 1460
1461 EXPECT_EQ(3U, most_visited_urls_.size()); 1461 EXPECT_EQ(3U, most_visited_urls_.size());
1462 EXPECT_EQ(url1, most_visited_urls_[0].url); 1462 EXPECT_EQ(url1, most_visited_urls_[0].url);
1463 EXPECT_EQ(url2, most_visited_urls_[1].url); 1463 EXPECT_EQ(url2, most_visited_urls_[1].url);
1464 EXPECT_EQ(url0, most_visited_urls_[2].url); 1464 EXPECT_EQ(url0, most_visited_urls_[2].url);
1465 1465
1466 // Redirects 1466 // Redirects
1467 history::RedirectList redirects; 1467 history::RedirectList redirects;
1468 redirects.push_back(url3); 1468 redirects.push_back(url3);
1469 redirects.push_back(url4); 1469 redirects.push_back(url4);
1470 1470
1471 // Visit url4 using redirects. 1471 // Visit url4 using redirects.
1472 history_service_->AddPage( 1472 history_service_->AddPage(
1473 url4, base::Time::Now(), context_id, 0, GURL(), 1473 url4, base::Time::Now(), context_id, 0, GURL(),
1474 redirects, content::PAGE_TRANSITION_TYPED, 1474 redirects, ui::PAGE_TRANSITION_TYPED,
1475 history::SOURCE_BROWSED, false); 1475 history::SOURCE_BROWSED, false);
1476 history_service_->QueryMostVisitedURLs( 1476 history_service_->QueryMostVisitedURLs(
1477 20, 1477 20,
1478 90, 1478 90,
1479 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable, 1479 base::Bind(&HistoryTest::OnMostVisitedURLsAvailable,
1480 base::Unretained(this)), 1480 base::Unretained(this)),
1481 &tracker_); 1481 &tracker_);
1482 base::MessageLoop::current()->Run(); 1482 base::MessageLoop::current()->Run();
1483 1483
1484 EXPECT_EQ(4U, most_visited_urls_.size()); 1484 EXPECT_EQ(4U, most_visited_urls_.size());
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1569 // returned for the second time. 1569 // returned for the second time.
1570 TEST_F(HistoryTest, ProcessLocalDeleteDirectiveSyncOnline) { 1570 TEST_F(HistoryTest, ProcessLocalDeleteDirectiveSyncOnline) {
1571 ASSERT_TRUE(history_service_.get()); 1571 ASSERT_TRUE(history_service_.get());
1572 1572
1573 const GURL test_url("http://www.google.com/"); 1573 const GURL test_url("http://www.google.com/");
1574 for (int64 i = 1; i <= 10; ++i) { 1574 for (int64 i = 1; i <= 10; ++i) {
1575 base::Time t = 1575 base::Time t =
1576 base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(i); 1576 base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(i);
1577 history_service_->AddPage(test_url, t, NULL, 0, GURL(), 1577 history_service_->AddPage(test_url, t, NULL, 0, GURL(),
1578 history::RedirectList(), 1578 history::RedirectList(),
1579 content::PAGE_TRANSITION_LINK, 1579 ui::PAGE_TRANSITION_LINK,
1580 history::SOURCE_BROWSED, false); 1580 history::SOURCE_BROWSED, false);
1581 } 1581 }
1582 1582
1583 sync_pb::HistoryDeleteDirectiveSpecifics delete_directive; 1583 sync_pb::HistoryDeleteDirectiveSpecifics delete_directive;
1584 sync_pb::GlobalIdDirective* global_id_directive = 1584 sync_pb::GlobalIdDirective* global_id_directive =
1585 delete_directive.mutable_global_id_directive(); 1585 delete_directive.mutable_global_id_directive();
1586 global_id_directive->add_global_id( 1586 global_id_directive->add_global_id(
1587 (base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(1)) 1587 (base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(1))
1588 .ToInternalValue()); 1588 .ToInternalValue());
1589 1589
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1634 // including ones that don't exist. The expected entries should be 1634 // including ones that don't exist. The expected entries should be
1635 // deleted. 1635 // deleted.
1636 TEST_F(HistoryTest, ProcessGlobalIdDeleteDirective) { 1636 TEST_F(HistoryTest, ProcessGlobalIdDeleteDirective) {
1637 ASSERT_TRUE(history_service_.get()); 1637 ASSERT_TRUE(history_service_.get());
1638 const GURL test_url("http://www.google.com/"); 1638 const GURL test_url("http://www.google.com/");
1639 for (int64 i = 1; i <= 20; i++) { 1639 for (int64 i = 1; i <= 20; i++) {
1640 base::Time t = 1640 base::Time t =
1641 base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(i); 1641 base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(i);
1642 history_service_->AddPage(test_url, t, NULL, 0, GURL(), 1642 history_service_->AddPage(test_url, t, NULL, 0, GURL(),
1643 history::RedirectList(), 1643 history::RedirectList(),
1644 content::PAGE_TRANSITION_LINK, 1644 ui::PAGE_TRANSITION_LINK,
1645 history::SOURCE_BROWSED, false); 1645 history::SOURCE_BROWSED, false);
1646 } 1646 }
1647 1647
1648 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1648 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1649 EXPECT_EQ(20, query_url_row_.visit_count()); 1649 EXPECT_EQ(20, query_url_row_.visit_count());
1650 1650
1651 syncer::SyncDataList directives; 1651 syncer::SyncDataList directives;
1652 // 1st directive. 1652 // 1st directive.
1653 sync_pb::EntitySpecifics entity_specs; 1653 sync_pb::EntitySpecifics entity_specs;
1654 sync_pb::GlobalIdDirective* global_id_directive = 1654 sync_pb::GlobalIdDirective* global_id_directive =
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1725 // Create delete directives for time ranges. The expected entries should be 1725 // Create delete directives for time ranges. The expected entries should be
1726 // deleted. 1726 // deleted.
1727 TEST_F(HistoryTest, ProcessTimeRangeDeleteDirective) { 1727 TEST_F(HistoryTest, ProcessTimeRangeDeleteDirective) {
1728 ASSERT_TRUE(history_service_.get()); 1728 ASSERT_TRUE(history_service_.get());
1729 const GURL test_url("http://www.google.com/"); 1729 const GURL test_url("http://www.google.com/");
1730 for (int64 i = 1; i <= 10; ++i) { 1730 for (int64 i = 1; i <= 10; ++i) {
1731 base::Time t = 1731 base::Time t =
1732 base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(i); 1732 base::Time::UnixEpoch() + base::TimeDelta::FromMicroseconds(i);
1733 history_service_->AddPage(test_url, t, NULL, 0, GURL(), 1733 history_service_->AddPage(test_url, t, NULL, 0, GURL(),
1734 history::RedirectList(), 1734 history::RedirectList(),
1735 content::PAGE_TRANSITION_LINK, 1735 ui::PAGE_TRANSITION_LINK,
1736 history::SOURCE_BROWSED, false); 1736 history::SOURCE_BROWSED, false);
1737 } 1737 }
1738 1738
1739 EXPECT_TRUE(QueryURL(history_service_.get(), test_url)); 1739 EXPECT_TRUE(QueryURL(history_service_.get(), test_url));
1740 EXPECT_EQ(10, query_url_row_.visit_count()); 1740 EXPECT_EQ(10, query_url_row_.visit_count());
1741 1741
1742 syncer::SyncDataList directives; 1742 syncer::SyncDataList directives;
1743 // 1st directive. 1743 // 1st directive.
1744 sync_pb::EntitySpecifics entity_specs; 1744 sync_pb::EntitySpecifics entity_specs;
1745 sync_pb::TimeRangeDirective* time_range_directive = 1745 sync_pb::TimeRangeDirective* time_range_directive =
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
1866 std::vector<PageUsageData*> results; 1866 std::vector<PageUsageData*> results;
1867 db_->QuerySegmentUsage(segment_time, 10, &results); 1867 db_->QuerySegmentUsage(segment_time, 10, &results);
1868 ASSERT_EQ(1u, results.size()); 1868 ASSERT_EQ(1u, results.size());
1869 EXPECT_EQ(url, results[0]->GetURL()); 1869 EXPECT_EQ(url, results[0]->GetURL());
1870 EXPECT_EQ(segment_id, results[0]->GetID()); 1870 EXPECT_EQ(segment_id, results[0]->GetID());
1871 EXPECT_EQ(title, results[0]->GetTitle()); 1871 EXPECT_EQ(title, results[0]->GetTitle());
1872 STLDeleteElements(&results); 1872 STLDeleteElements(&results);
1873 } 1873 }
1874 1874
1875 } // namespace history 1875 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/history/history_types.cc ('k') | chrome/browser/history/in_memory_url_index_cache.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698