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

Unified Diff: chrome/browser/sync/glue/session_model_associator_unittest.cc

Issue 7966020: [Sync] Fix Session's handling of windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix perf tests Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/session_model_associator_unittest.cc
diff --git a/chrome/browser/sync/glue/session_model_associator_unittest.cc b/chrome/browser/sync/glue/session_model_associator_unittest.cc
index 8aa34195f1a12d039f801c054fed4f516eaef6b2..1ffb6d31e50dd0d08cdb70d19b6fff63b0de52d3 100644
--- a/chrome/browser/sync/glue/session_model_associator_unittest.cc
+++ b/chrome/browser/sync/glue/session_model_associator_unittest.cc
@@ -6,16 +6,12 @@
#include <vector>
#include "base/memory/scoped_ptr.h"
-#include "base/values.h"
#include "chrome/browser/sessions/session_types.h"
#include "chrome/browser/sync/glue/session_model_associator.h"
#include "chrome/common/url_constants.h"
#include "content/common/page_transition_types.h"
#include "testing/gtest/include/gtest/gtest.h"
-using browser_sync::SessionModelAssociator;
-using browser_sync::SyncedSessionTracker;
-
namespace browser_sync {
typedef testing::Test SessionModelAssociatorTest;
@@ -86,8 +82,8 @@ TEST_F(SessionModelAssociatorTest, PopulateSessionWindow) {
std::string tag = "tag";
SyncedSessionTracker tracker;
SyncedSession* session = tracker.GetSession(tag);
- SessionWindow* win = new SessionWindow();
- session->windows.push_back(win);
+ SessionWindow* win = tracker.GetWindow(tag, 0);
+ session->windows[0] = win;
SessionModelAssociator::PopulateSessionWindowFromSpecifics(
tag, window_s, base::Time(), win, &tracker);
ASSERT_EQ(1U, win->tabs.size());
@@ -101,11 +97,12 @@ TEST_F(SessionModelAssociatorTest, PopulateSessionWindow) {
// ourselves, otherwise we would run into double free errors when the
// destructor was invoked (the true argument tells the tracker the tab
// is now associated with a window).
- ASSERT_TRUE(tracker.GetSessionTab(tag, 0, true));
+ ASSERT_TRUE(tracker.GetTabForWindow(tag, 0, 0));
}
TEST_F(SessionModelAssociatorTest, PopulateSessionTab) {
sync_pb::SessionTab tab_s;
+ tab_s.set_tab_id(5);
tab_s.set_tab_visual_index(13);
tab_s.set_current_navigation_index(3);
tab_s.set_pinned(true);
@@ -118,8 +115,10 @@ TEST_F(SessionModelAssociatorTest, PopulateSessionTab) {
navigation->set_page_transition(sync_pb::TabNavigation_PageTransition_TYPED);
SessionTab tab;
+ tab.tab_id.set_id(5); // Expected to be set by the SyncedSessionTracker.
SessionModelAssociator::PopulateSessionTabFromSpecifics(
tab_s, base::Time(), &tab);
+ ASSERT_EQ(5, tab.tab_id.id());
ASSERT_EQ(13, tab.tab_visual_index);
ASSERT_EQ(3, tab.current_navigation_index);
ASSERT_TRUE(tab.pinned);
@@ -131,60 +130,6 @@ TEST_F(SessionModelAssociatorTest, PopulateSessionTab) {
ASSERT_EQ(GURL("http://foo/1"), tab.navigations[0].virtual_url());
}
-TEST_F(SessionModelAssociatorTest, SyncedSessionTracker) {
- const std::string tag1 = "tag";
- const std::string tag2 = "tag2";
- const std::string tag3 = "tag3";
- SyncedSessionTracker tracker;
- ASSERT_TRUE(tracker.empty());
- ASSERT_EQ(0U, tracker.num_synced_sessions());
- ASSERT_EQ(0U, tracker.num_synced_tabs(tag1));
- SessionTab* tab = tracker.GetSessionTab(tag1, 0, false);
- ASSERT_EQ(1U, tracker.num_synced_tabs(tag1));
- ASSERT_EQ(0U, tracker.num_synced_sessions());
- SessionTab* tab2 = tracker.GetSessionTab(tag1, 0, false);
- ASSERT_EQ(1U, tracker.num_synced_tabs(tag1));
- ASSERT_EQ(0U, tracker.num_synced_sessions());
- ASSERT_EQ(tab, tab2);
- tab2 = tracker.GetSessionTab(tag2, 0, false);
- ASSERT_EQ(1U, tracker.num_synced_tabs(tag1));
- ASSERT_EQ(1U, tracker.num_synced_tabs(tag2));
- ASSERT_EQ(0U, tracker.num_synced_sessions());
-
- ASSERT_FALSE(tracker.DeleteSession(tag1));
- ASSERT_FALSE(tracker.DeleteSession(tag3));
-
- SyncedSession* session = tracker.GetSession(tag1);
- SyncedSession* session2 = tracker.GetSession(tag2);
- SyncedSession* session3 = tracker.GetSession(tag3);
- ASSERT_EQ(3U, tracker.num_synced_sessions());
-
- ASSERT_TRUE(session);
- ASSERT_TRUE(session2);
- ASSERT_TRUE(session3);
- ASSERT_NE(session, session2);
- ASSERT_NE(session2, session3);
- ASSERT_TRUE(tracker.DeleteSession(tag3));
- ASSERT_EQ(2U, tracker.num_synced_sessions());
-
- const SessionTab *tab_ptr;
- ASSERT_TRUE(tracker.LookupSessionTab(tag1, 0, &tab_ptr));
- ASSERT_EQ(tab_ptr, tab);
-
- std::vector<SessionWindow*> windows;
- ASSERT_TRUE(tracker.LookupSessionWindows(tag1, &windows));
- ASSERT_EQ(0U, windows.size());
-
- // The sessions don't have valid windows, lookup should not succeed.
- std::vector<const SyncedSession*> sessions;
- ASSERT_FALSE(tracker.LookupAllForeignSessions(&sessions));
-
- tracker.clear();
- ASSERT_EQ(0U, tracker.num_synced_tabs(tag1));
- ASSERT_EQ(0U, tracker.num_synced_tabs(tag2));
- ASSERT_EQ(0U, tracker.num_synced_sessions());
-}
-
#if defined(OS_WIN)
// The test is somewhat silly, and just verifies that we return a computer name.
TEST(SessionModelAssociatorTest, TestGetComputerName) {

Powered by Google App Engine
This is Rietveld 408576698