| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #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/rand_util.h" | 9 #include "base/rand_util.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 0); // win id 10, tab id 15, tab ind 0. | 63 0); // win id 10, tab id 15, tab ind 0. |
| 64 sync_driver::SyncedSession* session = GetTracker()->GetSession("tag"); | 64 sync_driver::SyncedSession* session = GetTracker()->GetSession("tag"); |
| 65 ASSERT_EQ(1U, session->windows.size()); | 65 ASSERT_EQ(1U, session->windows.size()); |
| 66 ASSERT_EQ(1U, session->windows[10]->tabs.size()); | 66 ASSERT_EQ(1U, session->windows[10]->tabs.size()); |
| 67 ASSERT_EQ(GetTracker()->GetTab("tag", 15, 1), session->windows[10]->tabs[0]); | 67 ASSERT_EQ(GetTracker()->GetTab("tag", 15, 1), session->windows[10]->tabs[0]); |
| 68 // Should clean up memory on its own. | 68 // Should clean up memory on its own. |
| 69 } | 69 } |
| 70 | 70 |
| 71 TEST_F(SyncedSessionTrackerTest, LookupAllForeignSessions) { | 71 TEST_F(SyncedSessionTrackerTest, LookupAllForeignSessions) { |
| 72 std::vector<const sync_driver::SyncedSession*> sessions; | 72 std::vector<const sync_driver::SyncedSession*> sessions; |
| 73 ASSERT_FALSE(GetTracker()->LookupAllForeignSessions(&sessions)); | 73 ASSERT_FALSE(GetTracker()->LookupAllForeignSessions( |
| 74 &sessions, SyncedSessionTracker::PRESENTABLE)); |
| 74 GetTracker()->GetSession("tag1"); | 75 GetTracker()->GetSession("tag1"); |
| 75 GetTracker()->PutWindowInSession("tag1", 0); | 76 GetTracker()->PutWindowInSession("tag1", 0); |
| 76 GetTracker()->PutTabInWindow("tag1", 0, 15, 0); | 77 GetTracker()->PutTabInWindow("tag1", 0, 15, 0); |
| 77 sessions::SessionTab* tab = GetTracker()->GetTab("tag1", 15, 1); | 78 sessions::SessionTab* tab = GetTracker()->GetTab("tag1", 15, 1); |
| 78 ASSERT_TRUE(tab); | 79 ASSERT_TRUE(tab); |
| 79 tab->navigations.push_back( | 80 tab->navigations.push_back( |
| 80 sessions::SerializedNavigationEntryTestHelper::CreateNavigation(kValidUrl, | 81 sessions::SerializedNavigationEntryTestHelper::CreateNavigation(kValidUrl, |
| 81 "title")); | 82 "title")); |
| 82 GetTracker()->GetSession("tag2"); | 83 GetTracker()->GetSession("tag2"); |
| 83 GetTracker()->GetSession("tag3"); | 84 GetTracker()->GetSession("tag3"); |
| 84 GetTracker()->PutWindowInSession("tag3", 0); | 85 GetTracker()->PutWindowInSession("tag3", 0); |
| 85 GetTracker()->PutTabInWindow("tag3", 0, 15, 0); | 86 GetTracker()->PutTabInWindow("tag3", 0, 15, 0); |
| 86 tab = GetTracker()->GetTab("tag3", 15, 1); | 87 tab = GetTracker()->GetTab("tag3", 15, 1); |
| 87 ASSERT_TRUE(tab); | 88 ASSERT_TRUE(tab); |
| 88 tab->navigations.push_back( | 89 tab->navigations.push_back( |
| 89 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 90 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 90 kInvalidUrl, "title")); | 91 kInvalidUrl, "title")); |
| 91 ASSERT_TRUE(GetTracker()->LookupAllForeignSessions(&sessions)); | 92 ASSERT_TRUE(GetTracker()->LookupAllForeignSessions( |
| 93 &sessions, SyncedSessionTracker::PRESENTABLE)); |
| 92 // Only the session with a valid window and tab gets returned. | 94 // Only the session with a valid window and tab gets returned. |
| 93 ASSERT_EQ(1U, sessions.size()); | 95 ASSERT_EQ(1U, sessions.size()); |
| 94 ASSERT_EQ("tag1", sessions[0]->session_tag); | 96 ASSERT_EQ("tag1", sessions[0]->session_tag); |
| 97 |
| 98 ASSERT_TRUE(GetTracker()->LookupAllForeignSessions( |
| 99 &sessions, SyncedSessionTracker::RAW)); |
| 100 ASSERT_EQ(3U, sessions.size()); |
| 95 } | 101 } |
| 96 | 102 |
| 97 TEST_F(SyncedSessionTrackerTest, LookupSessionWindows) { | 103 TEST_F(SyncedSessionTrackerTest, LookupSessionWindows) { |
| 98 std::vector<const sessions::SessionWindow*> windows; | 104 std::vector<const sessions::SessionWindow*> windows; |
| 99 ASSERT_FALSE(GetTracker()->LookupSessionWindows("tag1", &windows)); | 105 ASSERT_FALSE(GetTracker()->LookupSessionWindows("tag1", &windows)); |
| 100 GetTracker()->GetSession("tag1"); | 106 GetTracker()->GetSession("tag1"); |
| 101 GetTracker()->PutWindowInSession("tag1", 0); | 107 GetTracker()->PutWindowInSession("tag1", 0); |
| 102 GetTracker()->PutWindowInSession("tag1", 2); | 108 GetTracker()->PutWindowInSession("tag1", 2); |
| 103 GetTracker()->GetSession("tag2"); | 109 GetTracker()->GetSession("tag2"); |
| 104 GetTracker()->PutWindowInSession("tag2", 0); | 110 GetTracker()->PutWindowInSession("tag2", 0); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 126 const std::string tag3 = "tag3"; | 132 const std::string tag3 = "tag3"; |
| 127 std::vector<sessions::SessionTab *> tabs1, tabs2; | 133 std::vector<sessions::SessionTab *> tabs1, tabs2; |
| 128 sessions::SessionTab* temp_tab; | 134 sessions::SessionTab* temp_tab; |
| 129 ASSERT_TRUE(GetTracker()->Empty()); | 135 ASSERT_TRUE(GetTracker()->Empty()); |
| 130 ASSERT_EQ(0U, GetTracker()->num_synced_sessions()); | 136 ASSERT_EQ(0U, GetTracker()->num_synced_sessions()); |
| 131 ASSERT_EQ(0U, GetTracker()->num_synced_tabs(tag1)); | 137 ASSERT_EQ(0U, GetTracker()->num_synced_tabs(tag1)); |
| 132 tabs1.push_back(GetTracker()->GetTab(tag1, 0, 0)); | 138 tabs1.push_back(GetTracker()->GetTab(tag1, 0, 0)); |
| 133 tabs1.push_back(GetTracker()->GetTab(tag1, 1, 1)); | 139 tabs1.push_back(GetTracker()->GetTab(tag1, 1, 1)); |
| 134 tabs1.push_back(GetTracker()->GetTab(tag1, 2, 2)); | 140 tabs1.push_back(GetTracker()->GetTab(tag1, 2, 2)); |
| 135 ASSERT_EQ(3U, GetTracker()->num_synced_tabs(tag1)); | 141 ASSERT_EQ(3U, GetTracker()->num_synced_tabs(tag1)); |
| 136 ASSERT_EQ(0U, GetTracker()->num_synced_sessions()); | 142 ASSERT_EQ(1U, GetTracker()->num_synced_sessions()); |
| 137 temp_tab = GetTracker()->GetTab(tag1, 0, 0); // Already created. | 143 temp_tab = GetTracker()->GetTab(tag1, 0, 0); // Already created. |
| 138 ASSERT_EQ(3U, GetTracker()->num_synced_tabs(tag1)); | 144 ASSERT_EQ(3U, GetTracker()->num_synced_tabs(tag1)); |
| 139 ASSERT_EQ(0U, GetTracker()->num_synced_sessions()); | 145 ASSERT_EQ(1U, GetTracker()->num_synced_sessions()); |
| 140 ASSERT_EQ(tabs1[0], temp_tab); | 146 ASSERT_EQ(tabs1[0], temp_tab); |
| 141 tabs2.push_back(GetTracker()->GetTab(tag2, 0, 0)); | 147 tabs2.push_back(GetTracker()->GetTab(tag2, 0, 0)); |
| 142 ASSERT_EQ(1U, GetTracker()->num_synced_tabs(tag2)); | 148 ASSERT_EQ(1U, GetTracker()->num_synced_tabs(tag2)); |
| 143 ASSERT_EQ(0U, GetTracker()->num_synced_sessions()); | 149 ASSERT_EQ(2U, GetTracker()->num_synced_sessions()); |
| 144 ASSERT_FALSE(GetTracker()->DeleteSession(tag3)); | 150 ASSERT_FALSE(GetTracker()->DeleteSession(tag3)); |
| 145 | 151 |
| 146 sync_driver::SyncedSession* session = GetTracker()->GetSession(tag1); | 152 sync_driver::SyncedSession* session = GetTracker()->GetSession(tag1); |
| 147 sync_driver::SyncedSession* session2 = GetTracker()->GetSession(tag2); | 153 sync_driver::SyncedSession* session2 = GetTracker()->GetSession(tag2); |
| 148 sync_driver::SyncedSession* session3 = GetTracker()->GetSession(tag3); | 154 sync_driver::SyncedSession* session3 = GetTracker()->GetSession(tag3); |
| 155 session3->device_type = sync_driver::SyncedSession::TYPE_OTHER; |
| 149 ASSERT_EQ(3U, GetTracker()->num_synced_sessions()); | 156 ASSERT_EQ(3U, GetTracker()->num_synced_sessions()); |
| 150 | 157 |
| 151 ASSERT_TRUE(session); | 158 ASSERT_TRUE(session); |
| 152 ASSERT_TRUE(session2); | 159 ASSERT_TRUE(session2); |
| 153 ASSERT_TRUE(session3); | 160 ASSERT_TRUE(session3); |
| 154 ASSERT_NE(session, session2); | 161 ASSERT_NE(session, session2); |
| 155 ASSERT_NE(session2, session3); | 162 ASSERT_NE(session2, session3); |
| 156 ASSERT_TRUE(GetTracker()->DeleteSession(tag3)); | 163 ASSERT_TRUE(GetTracker()->DeleteSession(tag3)); |
| 157 ASSERT_EQ(2U, GetTracker()->num_synced_sessions()); | 164 ASSERT_EQ(2U, GetTracker()->num_synced_sessions()); |
| 158 | 165 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 169 ASSERT_EQ(static_cast<const sessions::SessionTab*>(NULL), tab_ptr); | 176 ASSERT_EQ(static_cast<const sessions::SessionTab*>(NULL), tab_ptr); |
| 170 | 177 |
| 171 std::vector<const sessions::SessionWindow*> windows; | 178 std::vector<const sessions::SessionWindow*> windows; |
| 172 ASSERT_TRUE(GetTracker()->LookupSessionWindows(tag1, &windows)); | 179 ASSERT_TRUE(GetTracker()->LookupSessionWindows(tag1, &windows)); |
| 173 ASSERT_EQ(1U, windows.size()); | 180 ASSERT_EQ(1U, windows.size()); |
| 174 ASSERT_TRUE(GetTracker()->LookupSessionWindows(tag2, &windows)); | 181 ASSERT_TRUE(GetTracker()->LookupSessionWindows(tag2, &windows)); |
| 175 ASSERT_EQ(0U, windows.size()); | 182 ASSERT_EQ(0U, windows.size()); |
| 176 | 183 |
| 177 // The sessions don't have valid tabs, lookup should not succeed. | 184 // The sessions don't have valid tabs, lookup should not succeed. |
| 178 std::vector<const sync_driver::SyncedSession*> sessions; | 185 std::vector<const sync_driver::SyncedSession*> sessions; |
| 179 ASSERT_FALSE(GetTracker()->LookupAllForeignSessions(&sessions)); | 186 ASSERT_FALSE(GetTracker()->LookupAllForeignSessions( |
| 187 &sessions, SyncedSessionTracker::PRESENTABLE)); |
| 188 ASSERT_TRUE(GetTracker()->LookupAllForeignSessions( |
| 189 &sessions, SyncedSessionTracker::RAW)); |
| 190 ASSERT_EQ(2U, sessions.size()); |
| 180 | 191 |
| 181 GetTracker()->Clear(); | 192 GetTracker()->Clear(); |
| 182 ASSERT_EQ(0U, GetTracker()->num_synced_tabs(tag1)); | 193 ASSERT_EQ(0U, GetTracker()->num_synced_tabs(tag1)); |
| 183 ASSERT_EQ(0U, GetTracker()->num_synced_tabs(tag2)); | 194 ASSERT_EQ(0U, GetTracker()->num_synced_tabs(tag2)); |
| 184 ASSERT_EQ(0U, GetTracker()->num_synced_sessions()); | 195 ASSERT_EQ(0U, GetTracker()->num_synced_sessions()); |
| 185 } | 196 } |
| 186 | 197 |
| 187 TEST_F(SyncedSessionTrackerTest, ManyGetTabs) { | 198 TEST_F(SyncedSessionTrackerTest, ManyGetTabs) { |
| 188 ASSERT_TRUE(GetTracker()->Empty()); | 199 ASSERT_TRUE(GetTracker()->Empty()); |
| 189 const int kMaxSessions = 10; | 200 const int kMaxSessions = 10; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 203 } | 214 } |
| 204 | 215 |
| 205 TEST_F(SyncedSessionTrackerTest, LookupTabNodeIds) { | 216 TEST_F(SyncedSessionTrackerTest, LookupTabNodeIds) { |
| 206 std::set<int> result; | 217 std::set<int> result; |
| 207 std::string tag1 = "session1"; | 218 std::string tag1 = "session1"; |
| 208 std::string tag2 = "session2"; | 219 std::string tag2 = "session2"; |
| 209 std::string tag3 = "session3"; | 220 std::string tag3 = "session3"; |
| 210 | 221 |
| 211 GetTracker()->GetTab(tag1, 1, 1); | 222 GetTracker()->GetTab(tag1, 1, 1); |
| 212 GetTracker()->GetTab(tag1, 2, 2); | 223 GetTracker()->GetTab(tag1, 2, 2); |
| 213 EXPECT_TRUE(GetTracker()->LookupTabNodeIds(tag1, &result)); | 224 GetTracker()->LookupTabNodeIds(tag1, &result); |
| 214 EXPECT_EQ(2U, result.size()); | 225 EXPECT_EQ(2U, result.size()); |
| 215 EXPECT_FALSE(result.end() == result.find(1)); | 226 EXPECT_FALSE(result.end() == result.find(1)); |
| 216 EXPECT_FALSE(result.end() == result.find(2)); | 227 EXPECT_FALSE(result.end() == result.find(2)); |
| 217 EXPECT_FALSE(GetTracker()->LookupTabNodeIds(tag2, &result)); | 228 GetTracker()->LookupTabNodeIds(tag2, &result); |
| 229 EXPECT_TRUE(result.empty()); |
| 218 | 230 |
| 219 GetTracker()->PutWindowInSession(tag1, 0); | 231 GetTracker()->PutWindowInSession(tag1, 0); |
| 220 GetTracker()->PutTabInWindow(tag1, 0, 3, 0); | 232 GetTracker()->PutTabInWindow(tag1, 0, 3, 0); |
| 221 EXPECT_TRUE(GetTracker()->LookupTabNodeIds(tag1, &result)); | 233 GetTracker()->LookupTabNodeIds(tag1, &result); |
| 222 EXPECT_EQ(2U, result.size()); | 234 EXPECT_EQ(2U, result.size()); |
| 223 | 235 |
| 224 GetTracker()->GetTab(tag1, 3, 3); | 236 GetTracker()->GetTab(tag1, 3, 3); |
| 225 EXPECT_TRUE(GetTracker()->LookupTabNodeIds(tag1, &result)); | 237 GetTracker()->LookupTabNodeIds(tag1, &result); |
| 226 EXPECT_EQ(3U, result.size()); | 238 EXPECT_EQ(3U, result.size()); |
| 227 EXPECT_FALSE(result.end() == result.find(3)); | 239 EXPECT_FALSE(result.end() == result.find(3)); |
| 228 | 240 |
| 229 GetTracker()->GetTab(tag2, 1, 21); | 241 GetTracker()->GetTab(tag2, 1, 21); |
| 230 GetTracker()->GetTab(tag2, 2, 22); | 242 GetTracker()->GetTab(tag2, 2, 22); |
| 231 EXPECT_TRUE(GetTracker()->LookupTabNodeIds(tag2, &result)); | 243 GetTracker()->LookupTabNodeIds(tag2, &result); |
| 232 EXPECT_EQ(2U, result.size()); | 244 EXPECT_EQ(2U, result.size()); |
| 233 EXPECT_FALSE(result.end() == result.find(21)); | 245 EXPECT_FALSE(result.end() == result.find(21)); |
| 234 EXPECT_FALSE(result.end() == result.find(22)); | 246 EXPECT_FALSE(result.end() == result.find(22)); |
| 235 EXPECT_TRUE(GetTracker()->LookupTabNodeIds(tag1, &result)); | 247 GetTracker()->LookupTabNodeIds(tag1, &result); |
| 236 EXPECT_EQ(3U, result.size()); | 248 EXPECT_EQ(3U, result.size()); |
| 237 EXPECT_FALSE(result.end() == result.find(1)); | 249 EXPECT_FALSE(result.end() == result.find(1)); |
| 238 EXPECT_FALSE(result.end() == result.find(2)); | 250 EXPECT_FALSE(result.end() == result.find(2)); |
| 239 | 251 |
| 240 EXPECT_FALSE(GetTracker()->LookupTabNodeIds(tag3, &result)); | 252 GetTracker()->LookupTabNodeIds(tag3, &result); |
| 253 EXPECT_TRUE(result.empty()); |
| 241 GetTracker()->PutWindowInSession(tag3, 1); | 254 GetTracker()->PutWindowInSession(tag3, 1); |
| 242 GetTracker()->PutTabInWindow(tag3, 1, 5, 0); | 255 GetTracker()->PutTabInWindow(tag3, 1, 5, 0); |
| 243 EXPECT_TRUE(GetTracker()->LookupTabNodeIds(tag3, &result)); | 256 GetTracker()->LookupTabNodeIds(tag3, &result); |
| 244 EXPECT_TRUE(result.empty()); | 257 EXPECT_TRUE(result.empty()); |
| 245 EXPECT_TRUE(GetTracker()->DeleteSession(tag3)); | 258 EXPECT_FALSE(GetTracker()->DeleteSession(tag3)); |
| 246 EXPECT_FALSE(GetTracker()->LookupTabNodeIds(tag3, &result)); | 259 GetTracker()->LookupTabNodeIds(tag3, &result); |
| 260 EXPECT_TRUE(result.empty()); |
| 247 | 261 |
| 248 EXPECT_TRUE(GetTracker()->DeleteSession(tag1)); | 262 EXPECT_FALSE(GetTracker()->DeleteSession(tag1)); |
| 249 EXPECT_FALSE(GetTracker()->LookupTabNodeIds(tag1, &result)); | 263 GetTracker()->LookupTabNodeIds(tag1, &result); |
| 250 EXPECT_TRUE(GetTracker()->LookupTabNodeIds(tag2, &result)); | 264 EXPECT_TRUE(result.empty()); |
| 265 GetTracker()->LookupTabNodeIds(tag2, &result); |
| 251 EXPECT_EQ(2U, result.size()); | 266 EXPECT_EQ(2U, result.size()); |
| 252 EXPECT_FALSE(result.end() == result.find(21)); | 267 EXPECT_FALSE(result.end() == result.find(21)); |
| 253 EXPECT_FALSE(result.end() == result.find(22)); | 268 EXPECT_FALSE(result.end() == result.find(22)); |
| 254 EXPECT_TRUE(GetTracker()->DeleteSession(tag2)); | 269 |
| 255 EXPECT_FALSE(GetTracker()->LookupTabNodeIds(tag2, &result)); | 270 GetTracker()->GetTab(tag2, 1, 21); |
| 271 GetTracker()->GetTab(tag2, 2, 23); |
| 272 GetTracker()->LookupTabNodeIds(tag2, &result); |
| 273 EXPECT_EQ(3U, result.size()); |
| 274 EXPECT_FALSE(result.end() == result.find(21)); |
| 275 EXPECT_FALSE(result.end() == result.find(22)); |
| 276 EXPECT_FALSE(result.end() == result.find(23)); |
| 277 |
| 278 EXPECT_FALSE(GetTracker()->DeleteSession(tag2)); |
| 279 GetTracker()->LookupTabNodeIds(tag2, &result); |
| 280 EXPECT_TRUE(result.empty()); |
| 256 } | 281 } |
| 257 | 282 |
| 258 TEST_F(SyncedSessionTrackerTest, SessionTracking) { | 283 TEST_F(SyncedSessionTrackerTest, SessionTracking) { |
| 259 ASSERT_TRUE(GetTracker()->Empty()); | 284 ASSERT_TRUE(GetTracker()->Empty()); |
| 260 std::string tag1 = "tag1"; | 285 std::string tag1 = "tag1"; |
| 261 std::string tag2 = "tag2"; | 286 std::string tag2 = "tag2"; |
| 262 | 287 |
| 263 // Create some session information that is stale. | 288 // Create some session information that is stale. |
| 264 sync_driver::SyncedSession* session1 = GetTracker()->GetSession(tag1); | 289 sync_driver::SyncedSession* session1 = GetTracker()->GetSession(tag1); |
| 265 GetTracker()->PutWindowInSession(tag1, 0); | 290 GetTracker()->PutWindowInSession(tag1, 0); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 ASSERT_EQ(1U, session2->windows.size()); | 333 ASSERT_EQ(1U, session2->windows.size()); |
| 309 ASSERT_EQ(1U, session2->windows[2]->tabs.size()); | 334 ASSERT_EQ(1U, session2->windows[2]->tabs.size()); |
| 310 ASSERT_EQ(2U, GetTracker()->num_synced_sessions()); | 335 ASSERT_EQ(2U, GetTracker()->num_synced_sessions()); |
| 311 ASSERT_EQ(4U, GetTracker()->num_synced_tabs(tag1)); | 336 ASSERT_EQ(4U, GetTracker()->num_synced_tabs(tag1)); |
| 312 ASSERT_EQ(1U, GetTracker()->num_synced_tabs(tag2)); | 337 ASSERT_EQ(1U, GetTracker()->num_synced_tabs(tag2)); |
| 313 | 338 |
| 314 // All memory should be properly deallocated by destructor for the | 339 // All memory should be properly deallocated by destructor for the |
| 315 // SyncedSessionTracker. | 340 // SyncedSessionTracker. |
| 316 } | 341 } |
| 317 | 342 |
| 343 TEST_F(SyncedSessionTrackerTest, DeleteForeignTab) { |
| 344 std::string session_tag = "session_tag"; |
| 345 int tab_id_1 = 1; |
| 346 int tab_id_2 = 2; |
| 347 int tab_node_id_3 = 3; |
| 348 int tab_node_id_4 = 4; |
| 349 std::set<int> result; |
| 350 |
| 351 GetTracker()->GetTab(session_tag, tab_id_1, tab_node_id_3); |
| 352 GetTracker()->GetTab(session_tag, tab_id_1, tab_node_id_4); |
| 353 GetTracker()->GetTab(session_tag, tab_id_2, tab_node_id_3); |
| 354 GetTracker()->GetTab(session_tag, tab_id_2, tab_node_id_4); |
| 355 |
| 356 GetTracker()->LookupTabNodeIds(session_tag, &result); |
| 357 EXPECT_EQ(2U, result.size()); |
| 358 EXPECT_TRUE(result.find(tab_node_id_3) != result.end()); |
| 359 EXPECT_TRUE(result.find(tab_node_id_4) != result.end()); |
| 360 |
| 361 GetTracker()->DeleteForeignTab(session_tag, tab_node_id_3); |
| 362 GetTracker()->LookupTabNodeIds(session_tag, &result); |
| 363 EXPECT_EQ(1U, result.size()); |
| 364 EXPECT_TRUE(result.find(tab_node_id_4) != result.end()); |
| 365 |
| 366 GetTracker()->DeleteForeignTab(session_tag, tab_node_id_4); |
| 367 GetTracker()->LookupTabNodeIds(session_tag, &result); |
| 368 EXPECT_TRUE(result.empty()); |
| 369 } |
| 370 |
| 318 } // namespace browser_sync | 371 } // namespace browser_sync |
| OLD | NEW |