| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/revisit/sessions_page_revisit_observer.h" | 5 #include "components/sync_sessions/revisit/sessions_page_revisit_observer.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 }; | 80 }; |
| 81 | 81 |
| 82 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoSessions) { | 82 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoSessions) { |
| 83 std::vector<const SyncedSession*> sessions; | 83 std::vector<const SyncedSession*> sessions; |
| 84 SessionsPageRevisitObserver observer( | 84 SessionsPageRevisitObserver observer( |
| 85 base::MakeUnique<TestForeignSessionsProvider>(sessions, true)); | 85 base::MakeUnique<TestForeignSessionsProvider>(sessions, true)); |
| 86 CheckAndExpect(&observer, GURL(kExampleUrl), false, false); | 86 CheckAndExpect(&observer, GURL(kExampleUrl), false, false); |
| 87 } | 87 } |
| 88 | 88 |
| 89 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoWindows) { | 89 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoWindows) { |
| 90 std::unique_ptr<SyncedSession> session = base::MakeUnique<SyncedSession>(); | 90 auto session = base::MakeUnique<SyncedSession>(); |
| 91 CheckAndExpect(session.get(), GURL(kExampleUrl), false, false); | 91 CheckAndExpect(session.get(), GURL(kExampleUrl), false, false); |
| 92 } | 92 } |
| 93 | 93 |
| 94 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoTabs) { | 94 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoTabs) { |
| 95 std::unique_ptr<SyncedSession> session = base::MakeUnique<SyncedSession>(); | 95 auto session = base::MakeUnique<SyncedSession>(); |
| 96 session->windows[0] = base::MakeUnique<SessionWindow>(); | 96 session->windows[0] = base::MakeUnique<SyncedSessionWindow>(); |
| 97 CheckAndExpect(session.get(), GURL(kExampleUrl), false, false); | 97 CheckAndExpect(session.get(), GURL(kExampleUrl), false, false); |
| 98 } | 98 } |
| 99 | 99 |
| 100 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoEntries) { | 100 TEST_F(SessionsPageRevisitObserverTest, RunMatchersNoEntries) { |
| 101 std::unique_ptr<SessionWindow> window = base::MakeUnique<SessionWindow>(); | 101 auto window = base::MakeUnique<SyncedSessionWindow>(); |
| 102 window->tabs.push_back(base::MakeUnique<SessionTab>()); | 102 window->wrapped_window.tabs.push_back(base::MakeUnique<SessionTab>()); |
| 103 std::unique_ptr<SyncedSession> session = base::MakeUnique<SyncedSession>(); | 103 auto session = base::MakeUnique<SyncedSession>(); |
| 104 session->windows[0] = std::move(window); | 104 session->windows[0] = std::move(window); |
| 105 CheckAndExpect(session.get(), GURL(kExampleUrl), false, false); | 105 CheckAndExpect(session.get(), GURL(kExampleUrl), false, false); |
| 106 } | 106 } |
| 107 | 107 |
| 108 TEST_F(SessionsPageRevisitObserverTest, RunMatchersSingle) { | 108 TEST_F(SessionsPageRevisitObserverTest, RunMatchersSingle) { |
| 109 std::unique_ptr<SessionTab> tab = base::MakeUnique<SessionTab>(); | 109 auto tab = base::MakeUnique<SessionTab>(); |
| 110 tab->navigations.push_back( | 110 tab->navigations.push_back( |
| 111 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 111 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 112 kExampleUrl, "")); | 112 kExampleUrl, "")); |
| 113 tab->current_navigation_index = 0; | 113 tab->current_navigation_index = 0; |
| 114 std::unique_ptr<SessionWindow> window = base::MakeUnique<SessionWindow>(); | 114 auto window = base::MakeUnique<SyncedSessionWindow>(); |
| 115 window->tabs.push_back(std::move(tab)); | 115 window->wrapped_window.tabs.push_back(std::move(tab)); |
| 116 std::unique_ptr<SyncedSession> session = base::MakeUnique<SyncedSession>(); | 116 auto session = base::MakeUnique<SyncedSession>(); |
| 117 session->windows[0] = std::move(window); | 117 session->windows[0] = std::move(window); |
| 118 CheckAndExpect(session.get(), GURL(kExampleUrl), true, false); | 118 CheckAndExpect(session.get(), GURL(kExampleUrl), true, false); |
| 119 } | 119 } |
| 120 | 120 |
| 121 TEST_F(SessionsPageRevisitObserverTest, RunMatchersFalseProvider) { | 121 TEST_F(SessionsPageRevisitObserverTest, RunMatchersFalseProvider) { |
| 122 std::unique_ptr<SessionTab> tab = base::MakeUnique<SessionTab>(); | 122 auto tab = base::MakeUnique<SessionTab>(); |
| 123 tab->navigations.push_back( | 123 tab->navigations.push_back( |
| 124 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 124 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 125 kExampleUrl, "")); | 125 kExampleUrl, "")); |
| 126 tab->navigations.push_back( | 126 tab->navigations.push_back( |
| 127 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 127 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 128 kExampleUrl, "")); | 128 kExampleUrl, "")); |
| 129 tab->current_navigation_index = 1; | 129 tab->current_navigation_index = 1; |
| 130 std::unique_ptr<SessionWindow> window = base::MakeUnique<SessionWindow>(); | 130 auto window = base::MakeUnique<SyncedSessionWindow>(); |
| 131 window->tabs.push_back(std::move(tab)); | 131 window->wrapped_window.tabs.push_back(std::move(tab)); |
| 132 std::unique_ptr<SyncedSession> session = base::MakeUnique<SyncedSession>(); | 132 auto session = base::MakeUnique<SyncedSession>(); |
| 133 session->windows[0] = std::move(window); | 133 session->windows[0] = std::move(window); |
| 134 | 134 |
| 135 // The provider returns false when asked for foreign sessions, even though | 135 // The provider returns false when asked for foreign sessions, even though |
| 136 // it has has a valid tab. | 136 // it has has a valid tab. |
| 137 std::vector<const SyncedSession*> sessions; | 137 std::vector<const SyncedSession*> sessions; |
| 138 sessions.push_back(session.get()); | 138 sessions.push_back(session.get()); |
| 139 SessionsPageRevisitObserver observer( | 139 SessionsPageRevisitObserver observer( |
| 140 base::MakeUnique<TestForeignSessionsProvider>(sessions, false)); | 140 base::MakeUnique<TestForeignSessionsProvider>(sessions, false)); |
| 141 CheckAndExpect(&observer, GURL(kExampleUrl), false, false); | 141 CheckAndExpect(&observer, GURL(kExampleUrl), false, false); |
| 142 } | 142 } |
| 143 | 143 |
| 144 TEST_F(SessionsPageRevisitObserverTest, RunMatchersMany) { | 144 TEST_F(SessionsPageRevisitObserverTest, RunMatchersMany) { |
| 145 std::unique_ptr<SessionTab> tab1 = base::MakeUnique<SessionTab>(); | 145 auto tab1 = base::MakeUnique<SessionTab>(); |
| 146 tab1->navigations.push_back( | 146 tab1->navigations.push_back( |
| 147 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 147 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 148 kExampleUrl, "")); | 148 kExampleUrl, "")); |
| 149 tab1->current_navigation_index = 0; | 149 tab1->current_navigation_index = 0; |
| 150 | 150 |
| 151 std::unique_ptr<SessionTab> tab2 = base::MakeUnique<SessionTab>(); | 151 auto tab2 = base::MakeUnique<SessionTab>(); |
| 152 tab2->navigations.push_back( | 152 tab2->navigations.push_back( |
| 153 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 153 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 154 kDifferentUrl, "")); | 154 kDifferentUrl, "")); |
| 155 tab2->current_navigation_index = 0; | 155 tab2->current_navigation_index = 0; |
| 156 | 156 |
| 157 std::unique_ptr<SessionTab> tab3 = base::MakeUnique<SessionTab>(); | 157 auto tab3 = base::MakeUnique<SessionTab>(); |
| 158 tab3->navigations.push_back( | 158 tab3->navigations.push_back( |
| 159 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 159 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 160 kDifferentUrl, "")); | 160 kDifferentUrl, "")); |
| 161 tab3->current_navigation_index = 0; | 161 tab3->current_navigation_index = 0; |
| 162 | 162 |
| 163 std::unique_ptr<SessionTab> tab4 = base::MakeUnique<SessionTab>(); | 163 auto tab4 = base::MakeUnique<SessionTab>(); |
| 164 tab4->navigations.push_back( | 164 tab4->navigations.push_back( |
| 165 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 165 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 166 kExampleUrl, "")); | 166 kExampleUrl, "")); |
| 167 tab4->navigations.push_back( | 167 tab4->navigations.push_back( |
| 168 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 168 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
| 169 kDifferentUrl, "")); | 169 kDifferentUrl, "")); |
| 170 tab4->current_navigation_index = 1; | 170 tab4->current_navigation_index = 1; |
| 171 | 171 |
| 172 std::unique_ptr<SessionWindow> window1 = base::MakeUnique<SessionWindow>(); | 172 auto window1 = base::MakeUnique<SyncedSessionWindow>(); |
| 173 window1->tabs.push_back(std::move(tab1)); | 173 window1->wrapped_window.tabs.push_back(std::move(tab1)); |
| 174 std::unique_ptr<SessionWindow> window2 = base::MakeUnique<SessionWindow>(); | 174 auto window2 = base::MakeUnique<SyncedSessionWindow>(); |
| 175 window2->tabs.push_back(std::move(tab2)); | 175 window2->wrapped_window.tabs.push_back(std::move(tab2)); |
| 176 std::unique_ptr<SessionWindow> window3 = base::MakeUnique<SessionWindow>(); | 176 auto window3 = base::MakeUnique<SyncedSessionWindow>(); |
| 177 window3->tabs.push_back(std::move(tab3)); | 177 window3->wrapped_window.tabs.push_back(std::move(tab3)); |
| 178 window3->tabs.push_back(std::move(tab4)); | 178 window3->wrapped_window.tabs.push_back(std::move(tab4)); |
| 179 | 179 |
| 180 std::unique_ptr<SyncedSession> session1 = base::MakeUnique<SyncedSession>(); | 180 auto session1 = base::MakeUnique<SyncedSession>(); |
| 181 session1->windows[1] = std::move(window1); | 181 session1->windows[1] = std::move(window1); |
| 182 std::unique_ptr<SyncedSession> session2 = base::MakeUnique<SyncedSession>(); | 182 auto session2 = base::MakeUnique<SyncedSession>(); |
| 183 session2->windows[2] = std::move(window2); | 183 session2->windows[2] = std::move(window2); |
| 184 session2->windows[3] = std::move(window3); | 184 session2->windows[3] = std::move(window3); |
| 185 | 185 |
| 186 std::vector<const SyncedSession*> sessions; | 186 std::vector<const SyncedSession*> sessions; |
| 187 sessions.push_back(session1.get()); | 187 sessions.push_back(session1.get()); |
| 188 sessions.push_back(session2.get()); | 188 sessions.push_back(session2.get()); |
| 189 SessionsPageRevisitObserver observer( | 189 SessionsPageRevisitObserver observer( |
| 190 base::MakeUnique<TestForeignSessionsProvider>(sessions, true)); | 190 base::MakeUnique<TestForeignSessionsProvider>(sessions, true)); |
| 191 | 191 |
| 192 base::HistogramTester histogram_tester; | 192 base::HistogramTester histogram_tester; |
| 193 CheckAndExpect(&observer, GURL(kExampleUrl), true, true); | 193 CheckAndExpect(&observer, GURL(kExampleUrl), true, true); |
| 194 } | 194 } |
| 195 | 195 |
| 196 } // namespace sync_sessions | 196 } // namespace sync_sessions |
| OLD | NEW |