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

Side by Side Diff: chrome/browser/sync/sessions/sessions_sync_manager_unittest.cc

Issue 2562853002: [Sync] Fix flakiness from Sessions refactor (Closed)
Patch Set: Fix SetSyncId Created 4 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/sync_sessions/sessions_sync_manager.h" 5 #include "components/sync_sessions/sessions_sync_manager.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 2033 matching lines...) Expand 10 before | Expand all | Expand 10 after
2044 // Verify second tab. 2044 // Verify second tab.
2045 const sync_pb::SessionTab& tab2_1 = 2045 const sync_pb::SessionTab& tab2_1 =
2046 out[6].sync_data().GetSpecifics().session().tab(); 2046 out[6].sync_data().GetSpecifics().session().tab();
2047 ASSERT_EQ(1, tab2_1.navigation_size()); 2047 ASSERT_EQ(1, tab2_1.navigation_size());
2048 EXPECT_EQ(bar1.spec(), tab2_1.navigation(0).virtual_url()); 2048 EXPECT_EQ(bar1.spec(), tab2_1.navigation(0).virtual_url());
2049 const sync_pb::SessionTab& tab2_2 = 2049 const sync_pb::SessionTab& tab2_2 =
2050 out[8].sync_data().GetSpecifics().session().tab(); 2050 out[8].sync_data().GetSpecifics().session().tab();
2051 ASSERT_EQ(2, tab2_2.navigation_size()); 2051 ASSERT_EQ(2, tab2_2.navigation_size());
2052 EXPECT_EQ(bar1.spec(), tab2_2.navigation(0).virtual_url()); 2052 EXPECT_EQ(bar1.spec(), tab2_2.navigation(0).virtual_url());
2053 EXPECT_EQ(bar2.spec(), tab2_2.navigation(1).virtual_url()); 2053 EXPECT_EQ(bar2.spec(), tab2_2.navigation(1).virtual_url());
2054
2055 // Verify tab delegates have Sync ids.
2056 std::set<const SyncedWindowDelegate*> window_delegates =
2057 get_synced_window_getter()->GetSyncedWindowDelegates();
2058 // Sync ids are in reverse order because tabs are inserted at the beginning
2059 // of the tab list.
2060 EXPECT_EQ(1, (*window_delegates.begin())->GetTabAt(0)->GetSyncId());
2061 EXPECT_EQ(0, (*window_delegates.begin())->GetTabAt(1)->GetSyncId());
2054 } 2062 }
2055 2063
2056 // Check that if a tab becomes uninteresting (for example no syncable URLs), 2064 // Check that if a tab becomes uninteresting (for example no syncable URLs),
2057 // we correctly remove it from the header node. 2065 // we correctly remove it from the header node.
2058 TEST_F(SessionsSyncManagerTest, TabBecomesUninteresting) { 2066 TEST_F(SessionsSyncManagerTest, TabBecomesUninteresting) {
2059 syncer::SyncChangeList out; 2067 syncer::SyncChangeList out;
2060 // Init with no local data, relies on MergeLocalSessionNoTabs. 2068 // Init with no local data, relies on MergeLocalSessionNoTabs.
2061 InitWithSyncDataTakeOutput(syncer::SyncDataList(), &out); 2069 InitWithSyncDataTakeOutput(syncer::SyncDataList(), &out);
2062 ASSERT_FALSE(manager()->current_machine_tag().empty()); 2070 ASSERT_FALSE(manager()->current_machine_tag().empty());
2063 ASSERT_EQ(2U, out.size()); 2071 ASSERT_EQ(2U, out.size());
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
2154 EXPECT_TRUE(out[3].IsValid()); 2162 EXPECT_TRUE(out[3].IsValid());
2155 EXPECT_EQ(SyncChange::ACTION_UPDATE, out[3].change_type()); 2163 EXPECT_EQ(SyncChange::ACTION_UPDATE, out[3].change_type());
2156 const SyncData data_2(out[3].sync_data()); 2164 const SyncData data_2(out[3].sync_data());
2157 EXPECT_EQ(manager()->current_machine_tag(), 2165 EXPECT_EQ(manager()->current_machine_tag(),
2158 syncer::SyncDataLocal(data_2).GetTag()); 2166 syncer::SyncDataLocal(data_2).GetTag());
2159 const sync_pb::SessionSpecifics& specifics2(data_2.GetSpecifics().session()); 2167 const sync_pb::SessionSpecifics& specifics2(data_2.GetSpecifics().session());
2160 EXPECT_EQ(manager()->current_machine_tag(), specifics2.session_tag()); 2168 EXPECT_EQ(manager()->current_machine_tag(), specifics2.session_tag());
2161 EXPECT_TRUE(specifics2.has_header()); 2169 EXPECT_TRUE(specifics2.has_header());
2162 const sync_pb::SessionHeader& header_s2 = specifics2.header(); 2170 const sync_pb::SessionHeader& header_s2 = specifics2.header();
2163 EXPECT_EQ(1, header_s2.window_size()); 2171 EXPECT_EQ(1, header_s2.window_size());
2172
2173 // Verify tab delegates have Sync ids.
2174 std::set<const SyncedWindowDelegate*> window_delegates =
2175 get_synced_window_getter()->GetSyncedWindowDelegates();
2176 // Sync ids are in same order as tabs because the association happens after
2177 // the tabs are opened (and therefore iterates through same order).
2178 EXPECT_EQ(0, (*window_delegates.begin())->GetTabAt(0)->GetSyncId());
2179 EXPECT_EQ(1, (*window_delegates.begin())->GetTabAt(1)->GetSyncId());
2164 } 2180 }
2165 2181
2166 TEST_F(SessionsSyncManagerTest, ForeignSessionModifiedTime) { 2182 TEST_F(SessionsSyncManagerTest, ForeignSessionModifiedTime) {
2167 syncer::SyncDataList foreign_data; 2183 syncer::SyncDataList foreign_data;
2168 base::Time newest_time = base::Time::Now() - base::TimeDelta::FromDays(1); 2184 base::Time newest_time = base::Time::Now() - base::TimeDelta::FromDays(1);
2169 base::Time middle_time = base::Time::Now() - base::TimeDelta::FromDays(2); 2185 base::Time middle_time = base::Time::Now() - base::TimeDelta::FromDays(2);
2170 base::Time oldest_time = base::Time::Now() - base::TimeDelta::FromDays(3); 2186 base::Time oldest_time = base::Time::Now() - base::TimeDelta::FromDays(3);
2171 2187
2172 { 2188 {
2173 std::string session_tag = "tag1"; 2189 std::string session_tag = "tag1";
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
2691 base::Time last_time; 2707 base::Time last_time;
2692 for (size_t i = 0; i < tabs.size(); ++i) { 2708 for (size_t i = 0; i < tabs.size(); ++i) {
2693 base::Time this_time = tabs[i]->timestamp; 2709 base::Time this_time = tabs[i]->timestamp;
2694 if (i > 0) 2710 if (i > 0)
2695 ASSERT_GE(last_time, this_time); 2711 ASSERT_GE(last_time, this_time);
2696 last_time = tabs[i]->timestamp; 2712 last_time = tabs[i]->timestamp;
2697 } 2713 }
2698 } 2714 }
2699 2715
2700 } // namespace sync_sessions 2716 } // namespace sync_sessions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698