Chromium Code Reviews| Index: chrome/browser/sync/test/integration/two_client_typed_urls_sync_test.cc |
| diff --git a/chrome/browser/sync/test/integration/two_client_typed_urls_sync_test.cc b/chrome/browser/sync/test/integration/two_client_typed_urls_sync_test.cc |
| index 0b9279c5824ac49d771d7c22e8efc72ae3363bdb..dc18a04e4e06d122b03be3b44b79d4cd4770c152 100644 |
| --- a/chrome/browser/sync/test/integration/two_client_typed_urls_sync_test.cc |
| +++ b/chrome/browser/sync/test/integration/two_client_typed_urls_sync_test.cc |
| @@ -377,6 +377,52 @@ IN_PROC_BROWSER_TEST_F(TwoClientTypedUrlsSyncTest, UpdateToNonTypedURL) { |
| ASSERT_EQ(2, GetVisitCountForFirstURL(0)); |
| } |
| +IN_PROC_BROWSER_TEST_F(TwoClientTypedUrlsSyncTest, SyncTypedRedirects) { |
|
Nicolas Zea
2015/04/20 19:46:03
nit: add a comment describing the purpose of the t
|
| + const base::string16 kHistoryUrl(ASCIIToUTF16("http://typed.google.com/")); |
| + const base::string16 kRedirectedHistoryUrl( |
| + ASCIIToUTF16("http://www.typed.google.com/")); |
| + ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| + |
| + // Simulate a typed address that gets redirected by the server to a different |
| + // address. |
| + GURL initial_url(kHistoryUrl); |
| + const ui::PageTransition initial_transition = ui::PageTransitionFromInt( |
| + ui::PAGE_TRANSITION_TYPED | ui::PAGE_TRANSITION_CHAIN_START); |
| + AddUrlToHistoryWithTransition(0, initial_url, initial_transition, |
| + history::SOURCE_BROWSED); |
| + |
| + GURL redirected_url(kRedirectedHistoryUrl); |
| + const ui::PageTransition redirected_transition = ui::PageTransitionFromInt( |
| + ui::PAGE_TRANSITION_TYPED | ui::PAGE_TRANSITION_CHAIN_END | |
| + ui::PAGE_TRANSITION_SERVER_REDIRECT); |
| + // This address will have a typed_count == 0 because it's a redirection. |
| + // It should still be synced. |
| + AddUrlToHistoryWithTransition(0, redirected_url, redirected_transition, |
| + history::SOURCE_BROWSED); |
| + |
| + // Both clients should have both URLs. |
| + ASSERT_TRUE(AwaitCheckAllProfilesHaveSameURLsAsVerifier()); |
| + |
| + history::VisitVector visits = |
| + typed_urls_helper::GetVisitsForURLFromClient(0, initial_url); |
| + ASSERT_EQ(1U, visits.size()); |
| + EXPECT_TRUE(ui::PageTransitionCoreTypeIs(visits[0].transition, |
| + ui::PAGE_TRANSITION_TYPED)); |
| + visits = typed_urls_helper::GetVisitsForURLFromClient(0, redirected_url); |
| + ASSERT_EQ(1U, visits.size()); |
| + EXPECT_TRUE(ui::PageTransitionCoreTypeIs(visits[0].transition, |
| + ui::PAGE_TRANSITION_TYPED)); |
| + |
| + visits = typed_urls_helper::GetVisitsForURLFromClient(1, initial_url); |
| + ASSERT_EQ(1U, visits.size()); |
| + EXPECT_TRUE(ui::PageTransitionCoreTypeIs(visits[0].transition, |
| + ui::PAGE_TRANSITION_TYPED)); |
| + visits = typed_urls_helper::GetVisitsForURLFromClient(1, redirected_url); |
| + ASSERT_EQ(1U, visits.size()); |
| + EXPECT_TRUE(ui::PageTransitionCoreTypeIs(visits[0].transition, |
| + ui::PAGE_TRANSITION_TYPED)); |
| +} |
| + |
| IN_PROC_BROWSER_TEST_F(TwoClientTypedUrlsSyncTest, |
| SkipImportedVisits) { |