OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/browser/sessions/session_types.h" | 10 #include "chrome/browser/sessions/session_types.h" |
11 #include "chrome/browser/sync/glue/session_model_associator.h" | 11 #include "chrome/browser/sync/glue/session_model_associator.h" |
12 #include "chrome/common/url_constants.h" | 12 #include "chrome/common/url_constants.h" |
13 #include "content/common/page_transition_types.h" | 13 #include "content/common/page_transition_types.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 | 15 |
16 using browser_sync::SessionModelAssociator; | 16 using browser_sync::SessionModelAssociator; |
17 using browser_sync::SyncedSessionTracker; | 17 using browser_sync::SyncedSessionTracker; |
18 | |
19 namespace browser_sync { | 18 namespace browser_sync { |
20 | 19 |
21 typedef testing::Test SessionModelAssociatorTest; | 20 typedef testing::Test SessionModelAssociatorTest; |
22 | 21 |
23 TEST_F(SessionModelAssociatorTest, SessionWindowHasNoTabsToSync) { | 22 TEST_F(SessionModelAssociatorTest, SessionWindowHasNoTabsToSync) { |
24 SessionWindow win; | 23 SessionWindow win; |
25 ASSERT_TRUE(SessionModelAssociator::SessionWindowHasNoTabsToSync(win)); | 24 ASSERT_TRUE(SessionModelAssociator::SessionWindowHasNoTabsToSync(win)); |
26 scoped_ptr<SessionTab> tab(new SessionTab()); | 25 scoped_ptr<SessionTab> tab(new SessionTab()); |
27 win.tabs.push_back(tab.release()); | 26 win.tabs.push_back(tab.release()); |
28 ASSERT_TRUE(SessionModelAssociator::SessionWindowHasNoTabsToSync(win)); | 27 ASSERT_TRUE(SessionModelAssociator::SessionWindowHasNoTabsToSync(win)); |
(...skipping 16 matching lines...) Expand all Loading... |
45 ASSERT_FALSE(SessionModelAssociator::IsValidSessionTab(tab)); | 44 ASSERT_FALSE(SessionModelAssociator::IsValidSessionTab(tab)); |
46 TabNavigation nav2(0, GURL("about:bubba"), | 45 TabNavigation nav2(0, GURL("about:bubba"), |
47 GURL("about:referrer"), | 46 GURL("about:referrer"), |
48 string16(ASCIIToUTF16("title")), | 47 string16(ASCIIToUTF16("title")), |
49 std::string("state"), 0U); | 48 std::string("state"), 0U); |
50 tab.navigations.push_back(nav2); | 49 tab.navigations.push_back(nav2); |
51 // Once there's another navigation, the tab is valid. | 50 // Once there's another navigation, the tab is valid. |
52 ASSERT_TRUE(SessionModelAssociator::IsValidSessionTab(tab)); | 51 ASSERT_TRUE(SessionModelAssociator::IsValidSessionTab(tab)); |
53 } | 52 } |
54 | 53 |
55 TEST_F(SessionModelAssociatorTest, PopulateSessionHeader) { | |
56 sync_pb::SessionHeader header_s; | |
57 header_s.set_client_name("Client 1"); | |
58 header_s.set_device_type(sync_pb::SessionHeader_DeviceType_TYPE_WIN); | |
59 | |
60 SyncedSession session; | |
61 SessionModelAssociator::PopulateSessionHeaderFromSpecifics( | |
62 header_s, &session); | |
63 ASSERT_EQ("Client 1", session.session_name); | |
64 ASSERT_EQ(SyncedSession::TYPE_WIN, session.device_type); | |
65 } | |
66 | |
67 TEST_F(SessionModelAssociatorTest, PopulateSessionWindow) { | 54 TEST_F(SessionModelAssociatorTest, PopulateSessionWindow) { |
68 sync_pb::SessionWindow window_s; | 55 sync_pb::SessionWindow window_s; |
69 window_s.add_tab(0); | 56 window_s.add_tab(0); |
70 window_s.set_browser_type(sync_pb::SessionWindow_BrowserType_TYPE_TABBED); | 57 window_s.set_browser_type(sync_pb::SessionWindow_BrowserType_TYPE_TABBED); |
71 window_s.set_selected_tab_index(1); | 58 window_s.set_selected_tab_index(1); |
72 | 59 |
73 std::string tag = "tag"; | 60 std::string tag = "tag"; |
74 SyncedSessionTracker tracker; | 61 SyncedSessionTracker tracker; |
75 SyncedSession* session = tracker.GetSession(tag); | 62 SyncedSession* session = tracker.GetSession(tag); |
76 SessionWindow* win = new SessionWindow(); | 63 SessionWindow* win = new SessionWindow(); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 // The sessions don't have valid windows, lookup should not succeed. | 151 // The sessions don't have valid windows, lookup should not succeed. |
165 std::vector<const SyncedSession*> sessions; | 152 std::vector<const SyncedSession*> sessions; |
166 ASSERT_FALSE(tracker.LookupAllForeignSessions(&sessions)); | 153 ASSERT_FALSE(tracker.LookupAllForeignSessions(&sessions)); |
167 | 154 |
168 tracker.clear(); | 155 tracker.clear(); |
169 ASSERT_EQ(0U, tracker.num_synced_tabs(tag1)); | 156 ASSERT_EQ(0U, tracker.num_synced_tabs(tag1)); |
170 ASSERT_EQ(0U, tracker.num_synced_tabs(tag2)); | 157 ASSERT_EQ(0U, tracker.num_synced_tabs(tag2)); |
171 ASSERT_EQ(0U, tracker.num_synced_sessions()); | 158 ASSERT_EQ(0U, tracker.num_synced_sessions()); |
172 } | 159 } |
173 | 160 |
174 #if defined(OS_WIN) | 161 } // namespace browser_sync |
175 // The test is somewhat silly, and just verifies that we return a computer name. | |
176 TEST(SessionModelAssociatorTest, TestGetComputerName) { | |
177 std::string computer_name = SessionModelAssociator::GetComputerName(); | |
178 EXPECT_TRUE(!computer_name.empty()); | |
179 } | |
180 #endif | |
181 | 162 |
182 #if defined(OS_MACOSX) | |
183 // The test is somewhat silly, and just verifies that we return a hardware | |
184 // model name. | |
185 TEST_F(SessionModelAssociatorTest, GetHardwareModelName) { | |
186 std::string hardware_model = SessionModelAssociator::GetHardwareModelName(); | |
187 EXPECT_TRUE(!hardware_model.empty()); | |
188 } | |
189 #endif | |
190 | |
191 | |
192 } // namespace browser_sync | |
OLD | NEW |