| 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 #import "ios/web/navigation/crw_session_controller.h" | 5 #import "ios/web/navigation/crw_session_controller.h" |
| 6 | 6 |
| 7 #import <Foundation/Foundation.h> | 7 #import <Foundation/Foundation.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #import "base/mac/scoped_nsobject.h" | 12 #import "base/mac/scoped_nsobject.h" |
| 13 #include "base/memory/ptr_util.h" | 13 #include "base/memory/ptr_util.h" |
| 14 #include "base/strings/sys_string_conversions.h" | 14 #include "base/strings/sys_string_conversions.h" |
| 15 #import "ios/web/navigation/crw_session_controller+private_constructors.h" | 15 #import "ios/web/navigation/crw_session_controller+private_constructors.h" |
| 16 #import "ios/web/navigation/navigation_item_impl.h" | 16 #import "ios/web/navigation/navigation_item_impl.h" |
| 17 #import "ios/web/navigation/navigation_manager_impl.h" | 17 #import "ios/web/navigation/navigation_manager_impl.h" |
| 18 #include "ios/web/public/referrer.h" | 18 #include "ios/web/public/referrer.h" |
| 19 #include "ios/web/public/test/fakes/test_browser_state.h" | 19 #include "ios/web/public/test/fakes/test_browser_state.h" |
| 20 #include "ios/web/public/test/test_web_thread_bundle.h" | 20 #include "ios/web/public/test/test_web_thread_bundle.h" |
| 21 #import "net/base/mac/url_conversions.h" | 21 #import "net/base/mac/url_conversions.h" |
| 22 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
| 23 #import "testing/gtest_mac.h" | 23 #import "testing/gtest_mac.h" |
| 24 #include "testing/platform_test.h" | 24 #include "testing/platform_test.h" |
| 25 | 25 |
| 26 using UserAgentOverrideOption = web::NavigationManager::UserAgentOverrideOption; |
| 27 |
| 26 @interface CRWSessionController (Testing) | 28 @interface CRWSessionController (Testing) |
| 27 - (const GURL&)URLForItemAtIndex:(size_t)index; | 29 - (const GURL&)URLForItemAtIndex:(size_t)index; |
| 28 - (const GURL&)currentURL; | 30 - (const GURL&)currentURL; |
| 29 @end | 31 @end |
| 30 | 32 |
| 31 @implementation CRWSessionController (Testing) | 33 @implementation CRWSessionController (Testing) |
| 32 - (const GURL&)URLForItemAtIndex:(size_t)index { | 34 - (const GURL&)URLForItemAtIndex:(size_t)index { |
| 33 if (index < self.items.size()) | 35 if (index < self.items.size()) |
| 34 return self.items[index]->GetURL(); | 36 return self.items[index]->GetURL(); |
| 35 return GURL::EmptyGURL(); | 37 return GURL::EmptyGURL(); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 59 }; | 61 }; |
| 60 | 62 |
| 61 TEST_F(CRWSessionControllerTest, Init) { | 63 TEST_F(CRWSessionControllerTest, Init) { |
| 62 EXPECT_TRUE([session_controller_ items].empty()); | 64 EXPECT_TRUE([session_controller_ items].empty()); |
| 63 EXPECT_FALSE([session_controller_ currentItem]); | 65 EXPECT_FALSE([session_controller_ currentItem]); |
| 64 } | 66 } |
| 65 | 67 |
| 66 // Tests session controller state after setting a pending index. | 68 // Tests session controller state after setting a pending index. |
| 67 TEST_F(CRWSessionControllerTest, SetPendingIndex) { | 69 TEST_F(CRWSessionControllerTest, SetPendingIndex) { |
| 68 [session_controller_ | 70 [session_controller_ |
| 69 addPendingItem:GURL("http://www.example.com") | 71 addPendingItem:GURL("http://www.example.com") |
| 70 referrer:web::Referrer() | 72 referrer:web::Referrer() |
| 71 transition:ui::PAGE_TRANSITION_TYPED | 73 transition:ui::PAGE_TRANSITION_TYPED |
| 72 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 74 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 75 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 73 [session_controller_ commitPendingItem]; | 76 [session_controller_ commitPendingItem]; |
| 74 | 77 |
| 75 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 78 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
| 76 [session_controller_ setPendingItemIndex:0]; | 79 [session_controller_ setPendingItemIndex:0]; |
| 77 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); | 80 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); |
| 78 EXPECT_EQ([session_controller_ items].back().get(), | 81 EXPECT_EQ([session_controller_ items].back().get(), |
| 79 [session_controller_ pendingItem]); | 82 [session_controller_ pendingItem]); |
| 80 } | 83 } |
| 81 | 84 |
| 82 TEST_F(CRWSessionControllerTest, addPendingItem) { | 85 TEST_F(CRWSessionControllerTest, addPendingItem) { |
| 83 [session_controller_ | 86 [session_controller_ |
| 84 addPendingItem:GURL("http://www.url.com") | 87 addPendingItem:GURL("http://www.url.com") |
| 85 referrer:MakeReferrer("http://www.referer.com") | 88 referrer:MakeReferrer("http://www.referer.com") |
| 86 transition:ui::PAGE_TRANSITION_TYPED | 89 transition:ui::PAGE_TRANSITION_TYPED |
| 87 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 90 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 91 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 88 | 92 |
| 89 EXPECT_TRUE([session_controller_ items].empty()); | 93 EXPECT_TRUE([session_controller_ items].empty()); |
| 90 EXPECT_EQ( | 94 EXPECT_EQ( |
| 91 GURL("http://www.url.com/"), | 95 GURL("http://www.url.com/"), |
| 92 [session_controller_ currentURL]); | 96 [session_controller_ currentURL]); |
| 93 } | 97 } |
| 94 | 98 |
| 95 TEST_F(CRWSessionControllerTest, addPendingItemWithCommittedItems) { | 99 TEST_F(CRWSessionControllerTest, addPendingItemWithCommittedItems) { |
| 96 [session_controller_ | 100 [session_controller_ |
| 97 addPendingItem:GURL("http://www.committed.url.com") | 101 addPendingItem:GURL("http://www.committed.url.com") |
| 98 referrer:MakeReferrer("http://www.referer.com") | 102 referrer:MakeReferrer("http://www.referer.com") |
| 99 transition:ui::PAGE_TRANSITION_TYPED | 103 transition:ui::PAGE_TRANSITION_TYPED |
| 100 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 104 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 105 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 101 [session_controller_ commitPendingItem]; | 106 [session_controller_ commitPendingItem]; |
| 102 | 107 |
| 103 [session_controller_ | 108 [session_controller_ |
| 104 addPendingItem:GURL("http://www.url.com") | 109 addPendingItem:GURL("http://www.url.com") |
| 105 referrer:MakeReferrer("http://www.referer.com") | 110 referrer:MakeReferrer("http://www.referer.com") |
| 106 transition:ui::PAGE_TRANSITION_TYPED | 111 transition:ui::PAGE_TRANSITION_TYPED |
| 107 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 112 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 113 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 108 | 114 |
| 109 EXPECT_EQ(1U, [session_controller_ items].size()); | 115 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 110 EXPECT_EQ(GURL("http://www.committed.url.com/"), | 116 EXPECT_EQ(GURL("http://www.committed.url.com/"), |
| 111 [session_controller_ URLForItemAtIndex:0U]); | 117 [session_controller_ URLForItemAtIndex:0U]); |
| 112 EXPECT_EQ( | 118 EXPECT_EQ( |
| 113 GURL("http://www.url.com/"), | 119 GURL("http://www.url.com/"), |
| 114 [session_controller_ currentURL]); | 120 [session_controller_ currentURL]); |
| 115 } | 121 } |
| 116 | 122 |
| 117 // Tests that adding a pending item resets pending item index. | 123 // Tests that adding a pending item resets pending item index. |
| 118 TEST_F(CRWSessionControllerTest, addPendingItemWithExistingPendingItemIndex) { | 124 TEST_F(CRWSessionControllerTest, addPendingItemWithExistingPendingItemIndex) { |
| 119 [session_controller_ | 125 [session_controller_ |
| 120 addPendingItem:GURL("http://www.example.com") | 126 addPendingItem:GURL("http://www.example.com") |
| 121 referrer:web::Referrer() | 127 referrer:web::Referrer() |
| 122 transition:ui::PAGE_TRANSITION_TYPED | 128 transition:ui::PAGE_TRANSITION_TYPED |
| 123 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 129 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 130 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 124 [session_controller_ commitPendingItem]; | 131 [session_controller_ commitPendingItem]; |
| 125 [session_controller_ | 132 [session_controller_ |
| 126 addPendingItem:GURL("http://www.example.com/0") | 133 addPendingItem:GURL("http://www.example.com/0") |
| 127 referrer:web::Referrer() | 134 referrer:web::Referrer() |
| 128 transition:ui::PAGE_TRANSITION_TYPED | 135 transition:ui::PAGE_TRANSITION_TYPED |
| 129 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 136 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 137 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 130 [session_controller_ commitPendingItem]; | 138 [session_controller_ commitPendingItem]; |
| 131 | 139 |
| 132 // Set 0 as pending item index. | 140 // Set 0 as pending item index. |
| 133 [session_controller_ setPendingItemIndex:0]; | 141 [session_controller_ setPendingItemIndex:0]; |
| 134 EXPECT_EQ(GURL("http://www.example.com/"), | 142 EXPECT_EQ(GURL("http://www.example.com/"), |
| 135 [session_controller_ pendingItem]->GetURL()); | 143 [session_controller_ pendingItem]->GetURL()); |
| 136 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); | 144 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); |
| 137 | 145 |
| 138 // Add a pending item, which should drop pending navigation index. | 146 // Add a pending item, which should drop pending navigation index. |
| 139 [session_controller_ | 147 [session_controller_ |
| 140 addPendingItem:GURL("http://www.example.com/1") | 148 addPendingItem:GURL("http://www.example.com/1") |
| 141 referrer:web::Referrer() | 149 referrer:web::Referrer() |
| 142 transition:ui::PAGE_TRANSITION_TYPED | 150 transition:ui::PAGE_TRANSITION_TYPED |
| 143 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 151 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 152 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 144 EXPECT_EQ(GURL("http://www.example.com/1"), | 153 EXPECT_EQ(GURL("http://www.example.com/1"), |
| 145 [session_controller_ pendingItem]->GetURL()); | 154 [session_controller_ pendingItem]->GetURL()); |
| 146 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 155 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
| 147 } | 156 } |
| 148 | 157 |
| 149 TEST_F(CRWSessionControllerTest, addPendingItemOverriding) { | 158 TEST_F(CRWSessionControllerTest, addPendingItemOverriding) { |
| 150 [session_controller_ | 159 [session_controller_ |
| 151 addPendingItem:GURL("http://www.url.com") | 160 addPendingItem:GURL("http://www.url.com") |
| 152 referrer:MakeReferrer("http://www.referer.com") | 161 referrer:MakeReferrer("http://www.referer.com") |
| 153 transition:ui::PAGE_TRANSITION_TYPED | 162 transition:ui::PAGE_TRANSITION_TYPED |
| 154 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 163 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 164 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 155 [session_controller_ | 165 [session_controller_ |
| 156 addPendingItem:GURL("http://www.another.url.com") | 166 addPendingItem:GURL("http://www.another.url.com") |
| 157 referrer:MakeReferrer("http://www.another.referer.com") | 167 referrer:MakeReferrer("http://www.another.referer.com") |
| 158 transition:ui::PAGE_TRANSITION_TYPED | 168 transition:ui::PAGE_TRANSITION_TYPED |
| 159 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 169 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 170 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 160 | 171 |
| 161 EXPECT_TRUE([session_controller_ items].empty()); | 172 EXPECT_TRUE([session_controller_ items].empty()); |
| 162 EXPECT_EQ( | 173 EXPECT_EQ( |
| 163 GURL("http://www.another.url.com/"), | 174 GURL("http://www.another.url.com/"), |
| 164 [session_controller_ currentURL]); | 175 [session_controller_ currentURL]); |
| 165 } | 176 } |
| 166 | 177 |
| 167 TEST_F(CRWSessionControllerTest, addPendingItemAndCommit) { | 178 TEST_F(CRWSessionControllerTest, addPendingItemAndCommit) { |
| 168 [session_controller_ | 179 [session_controller_ |
| 169 addPendingItem:GURL("http://www.url.com") | 180 addPendingItem:GURL("http://www.url.com") |
| 170 referrer:MakeReferrer("http://www.referer.com") | 181 referrer:MakeReferrer("http://www.referer.com") |
| 171 transition:ui::PAGE_TRANSITION_TYPED | 182 transition:ui::PAGE_TRANSITION_TYPED |
| 172 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 183 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 184 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 173 [session_controller_ commitPendingItem]; | 185 [session_controller_ commitPendingItem]; |
| 174 | 186 |
| 175 EXPECT_EQ(1U, [session_controller_ items].size()); | 187 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 176 EXPECT_EQ(GURL("http://www.url.com/"), | 188 EXPECT_EQ(GURL("http://www.url.com/"), |
| 177 [session_controller_ URLForItemAtIndex:0U]); | 189 [session_controller_ URLForItemAtIndex:0U]); |
| 178 EXPECT_EQ([session_controller_ items].front().get(), | 190 EXPECT_EQ([session_controller_ items].front().get(), |
| 179 [session_controller_ currentItem]); | 191 [session_controller_ currentItem]); |
| 180 } | 192 } |
| 181 | 193 |
| 182 TEST_F(CRWSessionControllerTest, addPendingItemOverridingAndCommit) { | 194 TEST_F(CRWSessionControllerTest, addPendingItemOverridingAndCommit) { |
| 183 [session_controller_ | 195 [session_controller_ |
| 184 addPendingItem:GURL("http://www.url.com") | 196 addPendingItem:GURL("http://www.url.com") |
| 185 referrer:MakeReferrer("http://www.referer.com") | 197 referrer:MakeReferrer("http://www.referer.com") |
| 186 transition:ui::PAGE_TRANSITION_TYPED | 198 transition:ui::PAGE_TRANSITION_TYPED |
| 187 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 199 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 200 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 188 [session_controller_ | 201 [session_controller_ |
| 189 addPendingItem:GURL("http://www.another.url.com") | 202 addPendingItem:GURL("http://www.another.url.com") |
| 190 referrer:MakeReferrer("http://www.another.referer.com") | 203 referrer:MakeReferrer("http://www.another.referer.com") |
| 191 transition:ui::PAGE_TRANSITION_TYPED | 204 transition:ui::PAGE_TRANSITION_TYPED |
| 192 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 205 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 206 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 193 [session_controller_ commitPendingItem]; | 207 [session_controller_ commitPendingItem]; |
| 194 | 208 |
| 195 EXPECT_EQ(1U, [session_controller_ items].size()); | 209 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 196 EXPECT_EQ(GURL("http://www.another.url.com/"), | 210 EXPECT_EQ(GURL("http://www.another.url.com/"), |
| 197 [session_controller_ URLForItemAtIndex:0U]); | 211 [session_controller_ URLForItemAtIndex:0U]); |
| 198 EXPECT_EQ([session_controller_ items].front().get(), | 212 EXPECT_EQ([session_controller_ items].front().get(), |
| 199 [session_controller_ currentItem]); | 213 [session_controller_ currentItem]); |
| 200 } | 214 } |
| 201 | 215 |
| 202 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitMultiple) { | 216 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitMultiple) { |
| 203 [session_controller_ | 217 [session_controller_ |
| 204 addPendingItem:GURL("http://www.url.com") | 218 addPendingItem:GURL("http://www.url.com") |
| 205 referrer:MakeReferrer("http://www.referer.com") | 219 referrer:MakeReferrer("http://www.referer.com") |
| 206 transition:ui::PAGE_TRANSITION_TYPED | 220 transition:ui::PAGE_TRANSITION_TYPED |
| 207 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 221 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 222 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 208 [session_controller_ commitPendingItem]; | 223 [session_controller_ commitPendingItem]; |
| 209 | 224 |
| 210 [session_controller_ | 225 [session_controller_ |
| 211 addPendingItem:GURL("http://www.another.url.com") | 226 addPendingItem:GURL("http://www.another.url.com") |
| 212 referrer:MakeReferrer("http://www.another.referer.com") | 227 referrer:MakeReferrer("http://www.another.referer.com") |
| 213 transition:ui::PAGE_TRANSITION_TYPED | 228 transition:ui::PAGE_TRANSITION_TYPED |
| 214 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 229 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 230 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 215 [session_controller_ commitPendingItem]; | 231 [session_controller_ commitPendingItem]; |
| 216 | 232 |
| 217 EXPECT_EQ(2U, [session_controller_ items].size()); | 233 EXPECT_EQ(2U, [session_controller_ items].size()); |
| 218 EXPECT_EQ(GURL("http://www.url.com/"), | 234 EXPECT_EQ(GURL("http://www.url.com/"), |
| 219 [session_controller_ URLForItemAtIndex:0U]); | 235 [session_controller_ URLForItemAtIndex:0U]); |
| 220 EXPECT_EQ(GURL("http://www.another.url.com/"), | 236 EXPECT_EQ(GURL("http://www.another.url.com/"), |
| 221 [session_controller_ URLForItemAtIndex:1U]); | 237 [session_controller_ URLForItemAtIndex:1U]); |
| 222 EXPECT_EQ([session_controller_ items][1U].get(), | 238 EXPECT_EQ([session_controller_ items][1U].get(), |
| 223 [session_controller_ currentItem]); | 239 [session_controller_ currentItem]); |
| 224 } | 240 } |
| 225 | 241 |
| 226 TEST_F(CRWSessionControllerTest, addPendingItemAndDiscard) { | 242 TEST_F(CRWSessionControllerTest, addPendingItemAndDiscard) { |
| 227 [session_controller_ | 243 [session_controller_ |
| 228 addPendingItem:GURL("http://www.url.com") | 244 addPendingItem:GURL("http://www.url.com") |
| 229 referrer:MakeReferrer("http://www.referer.com") | 245 referrer:MakeReferrer("http://www.referer.com") |
| 230 transition:ui::PAGE_TRANSITION_TYPED | 246 transition:ui::PAGE_TRANSITION_TYPED |
| 231 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 247 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 248 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 232 [session_controller_ discardNonCommittedItems]; | 249 [session_controller_ discardNonCommittedItems]; |
| 233 | 250 |
| 234 EXPECT_TRUE([session_controller_ items].empty()); | 251 EXPECT_TRUE([session_controller_ items].empty()); |
| 235 EXPECT_FALSE([session_controller_ currentItem]); | 252 EXPECT_FALSE([session_controller_ currentItem]); |
| 236 } | 253 } |
| 237 | 254 |
| 238 // Tests discarding pending item added via |setPendingItemIndex:| call. | 255 // Tests discarding pending item added via |setPendingItemIndex:| call. |
| 239 TEST_F(CRWSessionControllerTest, setPendingItemIndexAndDiscard) { | 256 TEST_F(CRWSessionControllerTest, setPendingItemIndexAndDiscard) { |
| 240 [session_controller_ | 257 [session_controller_ |
| 241 addPendingItem:GURL("http://www.example.com") | 258 addPendingItem:GURL("http://www.example.com") |
| 242 referrer:web::Referrer() | 259 referrer:web::Referrer() |
| 243 transition:ui::PAGE_TRANSITION_TYPED | 260 transition:ui::PAGE_TRANSITION_TYPED |
| 244 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 261 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 262 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 245 [session_controller_ commitPendingItem]; | 263 [session_controller_ commitPendingItem]; |
| 246 | 264 |
| 247 [session_controller_ setPendingItemIndex:0]; | 265 [session_controller_ setPendingItemIndex:0]; |
| 248 EXPECT_TRUE([session_controller_ pendingItem]); | 266 EXPECT_TRUE([session_controller_ pendingItem]); |
| 249 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); | 267 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); |
| 250 | 268 |
| 251 [session_controller_ discardNonCommittedItems]; | 269 [session_controller_ discardNonCommittedItems]; |
| 252 EXPECT_FALSE([session_controller_ pendingItem]); | 270 EXPECT_FALSE([session_controller_ pendingItem]); |
| 253 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 271 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
| 254 } | 272 } |
| 255 | 273 |
| 256 TEST_F(CRWSessionControllerTest, addPendingItemAndDiscardAndAddAndCommit) { | 274 TEST_F(CRWSessionControllerTest, addPendingItemAndDiscardAndAddAndCommit) { |
| 257 [session_controller_ | 275 [session_controller_ |
| 258 addPendingItem:GURL("http://www.url.com") | 276 addPendingItem:GURL("http://www.url.com") |
| 259 referrer:MakeReferrer("http://www.referer.com") | 277 referrer:MakeReferrer("http://www.referer.com") |
| 260 transition:ui::PAGE_TRANSITION_TYPED | 278 transition:ui::PAGE_TRANSITION_TYPED |
| 261 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 279 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 280 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 262 [session_controller_ discardNonCommittedItems]; | 281 [session_controller_ discardNonCommittedItems]; |
| 263 | 282 |
| 264 [session_controller_ | 283 [session_controller_ |
| 265 addPendingItem:GURL("http://www.another.url.com") | 284 addPendingItem:GURL("http://www.another.url.com") |
| 266 referrer:MakeReferrer("http://www.referer.com") | 285 referrer:MakeReferrer("http://www.referer.com") |
| 267 transition:ui::PAGE_TRANSITION_TYPED | 286 transition:ui::PAGE_TRANSITION_TYPED |
| 268 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 287 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 288 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 269 [session_controller_ commitPendingItem]; | 289 [session_controller_ commitPendingItem]; |
| 270 | 290 |
| 271 EXPECT_EQ(1U, [session_controller_ items].size()); | 291 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 272 EXPECT_EQ(GURL("http://www.another.url.com/"), | 292 EXPECT_EQ(GURL("http://www.another.url.com/"), |
| 273 [session_controller_ URLForItemAtIndex:0U]); | 293 [session_controller_ URLForItemAtIndex:0U]); |
| 274 EXPECT_EQ([session_controller_ items].front().get(), | 294 EXPECT_EQ([session_controller_ items].front().get(), |
| 275 [session_controller_ currentItem]); | 295 [session_controller_ currentItem]); |
| 276 } | 296 } |
| 277 | 297 |
| 278 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitAndAddAndDiscard) { | 298 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitAndAddAndDiscard) { |
| 279 [session_controller_ | 299 [session_controller_ |
| 280 addPendingItem:GURL("http://www.url.com") | 300 addPendingItem:GURL("http://www.url.com") |
| 281 referrer:MakeReferrer("http://www.referer.com") | 301 referrer:MakeReferrer("http://www.referer.com") |
| 282 transition:ui::PAGE_TRANSITION_TYPED | 302 transition:ui::PAGE_TRANSITION_TYPED |
| 283 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 303 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 304 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 284 [session_controller_ commitPendingItem]; | 305 [session_controller_ commitPendingItem]; |
| 285 | 306 |
| 286 [session_controller_ | 307 [session_controller_ |
| 287 addPendingItem:GURL("http://www.another.url.com") | 308 addPendingItem:GURL("http://www.another.url.com") |
| 288 referrer:MakeReferrer("http://www.referer.com") | 309 referrer:MakeReferrer("http://www.referer.com") |
| 289 transition:ui::PAGE_TRANSITION_TYPED | 310 transition:ui::PAGE_TRANSITION_TYPED |
| 290 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 311 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 312 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 291 [session_controller_ discardNonCommittedItems]; | 313 [session_controller_ discardNonCommittedItems]; |
| 292 | 314 |
| 293 EXPECT_EQ(1U, [session_controller_ items].size()); | 315 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 294 EXPECT_EQ(GURL("http://www.url.com/"), | 316 EXPECT_EQ(GURL("http://www.url.com/"), |
| 295 [session_controller_ URLForItemAtIndex:0U]); | 317 [session_controller_ URLForItemAtIndex:0U]); |
| 296 EXPECT_EQ([session_controller_ items].front().get(), | 318 EXPECT_EQ([session_controller_ items].front().get(), |
| 297 [session_controller_ currentItem]); | 319 [session_controller_ currentItem]); |
| 298 } | 320 } |
| 299 | 321 |
| 300 TEST_F(CRWSessionControllerTest, | 322 TEST_F(CRWSessionControllerTest, |
| 301 commitPendingItemWithoutPendingOrCommittedItem) { | 323 commitPendingItemWithoutPendingOrCommittedItem) { |
| 302 [session_controller_ commitPendingItem]; | 324 [session_controller_ commitPendingItem]; |
| 303 | 325 |
| 304 EXPECT_TRUE([session_controller_ items].empty()); | 326 EXPECT_TRUE([session_controller_ items].empty()); |
| 305 EXPECT_FALSE([session_controller_ currentItem]); | 327 EXPECT_FALSE([session_controller_ currentItem]); |
| 306 } | 328 } |
| 307 | 329 |
| 308 TEST_F(CRWSessionControllerTest, | 330 TEST_F(CRWSessionControllerTest, |
| 309 commitPendingItemWithoutPendingItemWithCommittedItem) { | 331 commitPendingItemWithoutPendingItemWithCommittedItem) { |
| 310 // Setup committed item. | 332 // Setup committed item. |
| 311 [session_controller_ | 333 [session_controller_ |
| 312 addPendingItem:GURL("http://www.url.com/") | 334 addPendingItem:GURL("http://www.url.com/") |
| 313 referrer:MakeReferrer("http://www.referrer.com/") | 335 referrer:MakeReferrer("http://www.referrer.com/") |
| 314 transition:ui::PAGE_TRANSITION_TYPED | 336 transition:ui::PAGE_TRANSITION_TYPED |
| 315 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 337 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 338 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 316 [session_controller_ commitPendingItem]; | 339 [session_controller_ commitPendingItem]; |
| 317 | 340 |
| 318 // Commit pending item when there is no such one | 341 // Commit pending item when there is no such one |
| 319 [session_controller_ commitPendingItem]; | 342 [session_controller_ commitPendingItem]; |
| 320 | 343 |
| 321 EXPECT_EQ(1U, [session_controller_ items].size()); | 344 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 322 EXPECT_EQ([session_controller_ items].front().get(), | 345 EXPECT_EQ([session_controller_ items].front().get(), |
| 323 [session_controller_ currentItem]); | 346 [session_controller_ currentItem]); |
| 324 } | 347 } |
| 325 | 348 |
| 326 // Tests that forward items are discarded after navigation item is committed. | 349 // Tests that forward items are discarded after navigation item is committed. |
| 327 TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) { | 350 TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) { |
| 328 // Make 3 items. | 351 // Make 3 items. |
| 329 [session_controller_ | 352 [session_controller_ |
| 330 addPendingItem:GURL("http://www.example.com/0") | 353 addPendingItem:GURL("http://www.example.com/0") |
| 331 referrer:MakeReferrer("http://www.example.com/a") | 354 referrer:MakeReferrer("http://www.example.com/a") |
| 332 transition:ui::PAGE_TRANSITION_LINK | 355 transition:ui::PAGE_TRANSITION_LINK |
| 333 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 356 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 357 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 334 [session_controller_ commitPendingItem]; | 358 [session_controller_ commitPendingItem]; |
| 335 [session_controller_ | 359 [session_controller_ |
| 336 addPendingItem:GURL("http://www.example.com/1") | 360 addPendingItem:GURL("http://www.example.com/1") |
| 337 referrer:MakeReferrer("http://www.example.com/b") | 361 referrer:MakeReferrer("http://www.example.com/b") |
| 338 transition:ui::PAGE_TRANSITION_LINK | 362 transition:ui::PAGE_TRANSITION_LINK |
| 339 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 363 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 364 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 340 [session_controller_ commitPendingItem]; | 365 [session_controller_ commitPendingItem]; |
| 341 [session_controller_ | 366 [session_controller_ |
| 342 addPendingItem:GURL("http://www.example.com/2") | 367 addPendingItem:GURL("http://www.example.com/2") |
| 343 referrer:MakeReferrer("http://www.example.com/c") | 368 referrer:MakeReferrer("http://www.example.com/c") |
| 344 transition:ui::PAGE_TRANSITION_LINK | 369 transition:ui::PAGE_TRANSITION_LINK |
| 345 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 370 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 371 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 346 [session_controller_ commitPendingItem]; | 372 [session_controller_ commitPendingItem]; |
| 347 | 373 |
| 348 // Go back to the first item. | 374 // Go back to the first item. |
| 349 [session_controller_ goToItemAtIndex:0]; | 375 [session_controller_ goToItemAtIndex:0]; |
| 350 | 376 |
| 351 // Create and commit a new pending item. | 377 // Create and commit a new pending item. |
| 352 [session_controller_ | 378 [session_controller_ |
| 353 addPendingItem:GURL("http://www.example.com/2") | 379 addPendingItem:GURL("http://www.example.com/2") |
| 354 referrer:MakeReferrer("http://www.example.com/c") | 380 referrer:MakeReferrer("http://www.example.com/c") |
| 355 transition:ui::PAGE_TRANSITION_LINK | 381 transition:ui::PAGE_TRANSITION_LINK |
| 356 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 382 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 383 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 357 [session_controller_ commitPendingItem]; | 384 [session_controller_ commitPendingItem]; |
| 358 | 385 |
| 359 // All forward items should go away. | 386 // All forward items should go away. |
| 360 EXPECT_EQ(2U, [session_controller_ items].size()); | 387 EXPECT_EQ(2U, [session_controller_ items].size()); |
| 361 EXPECT_EQ(0U, [session_controller_ forwardItems].size()); | 388 EXPECT_EQ(0U, [session_controller_ forwardItems].size()); |
| 362 ASSERT_EQ(1, [session_controller_ lastCommittedItemIndex]); | 389 ASSERT_EQ(1, [session_controller_ lastCommittedItemIndex]); |
| 363 ASSERT_EQ(0, [session_controller_ previousItemIndex]); | 390 ASSERT_EQ(0, [session_controller_ previousItemIndex]); |
| 364 } | 391 } |
| 365 | 392 |
| 366 // Tests committing pending item index from the middle. | 393 // Tests committing pending item index from the middle. |
| 367 TEST_F(CRWSessionControllerTest, commitPendingItemIndex) { | 394 TEST_F(CRWSessionControllerTest, commitPendingItemIndex) { |
| 368 [session_controller_ | 395 [session_controller_ |
| 369 addPendingItem:GURL("http://www.example.com/0") | 396 addPendingItem:GURL("http://www.example.com/0") |
| 370 referrer:web::Referrer() | 397 referrer:web::Referrer() |
| 371 transition:ui::PAGE_TRANSITION_TYPED | 398 transition:ui::PAGE_TRANSITION_TYPED |
| 372 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 399 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 400 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 373 [session_controller_ commitPendingItem]; | 401 [session_controller_ commitPendingItem]; |
| 374 [session_controller_ | 402 [session_controller_ |
| 375 addPendingItem:GURL("http://www.example.com/1") | 403 addPendingItem:GURL("http://www.example.com/1") |
| 376 referrer:web::Referrer() | 404 referrer:web::Referrer() |
| 377 transition:ui::PAGE_TRANSITION_TYPED | 405 transition:ui::PAGE_TRANSITION_TYPED |
| 378 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 406 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 407 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 379 [session_controller_ commitPendingItem]; | 408 [session_controller_ commitPendingItem]; |
| 380 [session_controller_ | 409 [session_controller_ |
| 381 addPendingItem:GURL("http://www.example.com/2") | 410 addPendingItem:GURL("http://www.example.com/2") |
| 382 referrer:web::Referrer() | 411 referrer:web::Referrer() |
| 383 transition:ui::PAGE_TRANSITION_TYPED | 412 transition:ui::PAGE_TRANSITION_TYPED |
| 384 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 413 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 414 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 385 [session_controller_ commitPendingItem]; | 415 [session_controller_ commitPendingItem]; |
| 386 ASSERT_EQ(3U, [session_controller_ items].size()); | 416 ASSERT_EQ(3U, [session_controller_ items].size()); |
| 387 | 417 |
| 388 // Go to the middle, and commit first pending item index. | 418 // Go to the middle, and commit first pending item index. |
| 389 [session_controller_ goToItemAtIndex:1]; | 419 [session_controller_ goToItemAtIndex:1]; |
| 390 [session_controller_ setPendingItemIndex:0]; | 420 [session_controller_ setPendingItemIndex:0]; |
| 391 ASSERT_EQ(0, [session_controller_ pendingItemIndex]); | 421 ASSERT_EQ(0, [session_controller_ pendingItemIndex]); |
| 392 web::NavigationItem* pending_item = [session_controller_ pendingItem]; | 422 web::NavigationItem* pending_item = [session_controller_ pendingItem]; |
| 393 ASSERT_TRUE(pending_item); | 423 ASSERT_TRUE(pending_item); |
| 394 ASSERT_EQ(1, [session_controller_ lastCommittedItemIndex]); | 424 ASSERT_EQ(1, [session_controller_ lastCommittedItemIndex]); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 410 [session_controller_ discardNonCommittedItems]; | 440 [session_controller_ discardNonCommittedItems]; |
| 411 | 441 |
| 412 EXPECT_TRUE([session_controller_ items].empty()); | 442 EXPECT_TRUE([session_controller_ items].empty()); |
| 413 EXPECT_FALSE([session_controller_ currentItem]); | 443 EXPECT_FALSE([session_controller_ currentItem]); |
| 414 } | 444 } |
| 415 | 445 |
| 416 TEST_F(CRWSessionControllerTest, | 446 TEST_F(CRWSessionControllerTest, |
| 417 DiscardPendingItemWithoutPendingItemWithCommittedItem) { | 447 DiscardPendingItemWithoutPendingItemWithCommittedItem) { |
| 418 // Setup committed item | 448 // Setup committed item |
| 419 [session_controller_ | 449 [session_controller_ |
| 420 addPendingItem:GURL("http://www.url.com") | 450 addPendingItem:GURL("http://www.url.com") |
| 421 referrer:MakeReferrer("http://www.referer.com") | 451 referrer:MakeReferrer("http://www.referer.com") |
| 422 transition:ui::PAGE_TRANSITION_TYPED | 452 transition:ui::PAGE_TRANSITION_TYPED |
| 423 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 453 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 454 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 424 [session_controller_ commitPendingItem]; | 455 [session_controller_ commitPendingItem]; |
| 425 | 456 |
| 426 // Discard noncommitted items when there is no such one | 457 // Discard noncommitted items when there is no such one |
| 427 [session_controller_ discardNonCommittedItems]; | 458 [session_controller_ discardNonCommittedItems]; |
| 428 | 459 |
| 429 EXPECT_EQ(1U, [session_controller_ items].size()); | 460 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 430 EXPECT_EQ([session_controller_ items].front().get(), | 461 EXPECT_EQ([session_controller_ items].front().get(), |
| 431 [session_controller_ currentItem]); | 462 [session_controller_ currentItem]); |
| 432 } | 463 } |
| 433 | 464 |
| 434 TEST_F(CRWSessionControllerTest, updatePendingItemWithoutPendingItem) { | 465 TEST_F(CRWSessionControllerTest, updatePendingItemWithoutPendingItem) { |
| 435 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; | 466 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; |
| 436 [session_controller_ commitPendingItem]; | 467 [session_controller_ commitPendingItem]; |
| 437 | 468 |
| 438 EXPECT_TRUE([session_controller_ items].empty()); | 469 EXPECT_TRUE([session_controller_ items].empty()); |
| 439 EXPECT_FALSE([session_controller_ currentItem]); | 470 EXPECT_FALSE([session_controller_ currentItem]); |
| 440 } | 471 } |
| 441 | 472 |
| 442 TEST_F(CRWSessionControllerTest, updatePendingItemWithPendingItem) { | 473 TEST_F(CRWSessionControllerTest, updatePendingItemWithPendingItem) { |
| 443 [session_controller_ | 474 [session_controller_ |
| 444 addPendingItem:GURL("http://www.url.com") | 475 addPendingItem:GURL("http://www.url.com") |
| 445 referrer:MakeReferrer("http://www.referer.com") | 476 referrer:MakeReferrer("http://www.referer.com") |
| 446 transition:ui::PAGE_TRANSITION_TYPED | 477 transition:ui::PAGE_TRANSITION_TYPED |
| 447 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 478 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 479 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 448 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; | 480 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; |
| 449 | 481 |
| 450 EXPECT_EQ( | 482 EXPECT_EQ( |
| 451 GURL("http://www.another.url.com/"), | 483 GURL("http://www.another.url.com/"), |
| 452 [session_controller_ currentURL]); | 484 [session_controller_ currentURL]); |
| 453 } | 485 } |
| 454 | 486 |
| 455 TEST_F(CRWSessionControllerTest, | 487 TEST_F(CRWSessionControllerTest, |
| 456 updatePendingItemWithPendingItemAlreadyCommited) { | 488 updatePendingItemWithPendingItemAlreadyCommited) { |
| 457 [session_controller_ | 489 [session_controller_ |
| 458 addPendingItem:GURL("http://www.url.com") | 490 addPendingItem:GURL("http://www.url.com") |
| 459 referrer:MakeReferrer("http://www.referer.com") | 491 referrer:MakeReferrer("http://www.referer.com") |
| 460 transition:ui::PAGE_TRANSITION_TYPED | 492 transition:ui::PAGE_TRANSITION_TYPED |
| 461 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 493 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 494 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 462 [session_controller_ commitPendingItem]; | 495 [session_controller_ commitPendingItem]; |
| 463 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; | 496 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; |
| 464 [session_controller_ commitPendingItem]; | 497 [session_controller_ commitPendingItem]; |
| 465 | 498 |
| 466 EXPECT_EQ(1U, [session_controller_ items].size()); | 499 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 467 EXPECT_EQ(GURL("http://www.url.com/"), | 500 EXPECT_EQ(GURL("http://www.url.com/"), |
| 468 [session_controller_ URLForItemAtIndex:0U]); | 501 [session_controller_ URLForItemAtIndex:0U]); |
| 469 EXPECT_EQ([session_controller_ items].front().get(), | 502 EXPECT_EQ([session_controller_ items].front().get(), |
| 470 [session_controller_ currentItem]); | 503 [session_controller_ currentItem]); |
| 471 } | 504 } |
| 472 | 505 |
| 473 // Tests inserting session controller state. | 506 // Tests inserting session controller state. |
| 474 TEST_F(CRWSessionControllerTest, CopyState) { | 507 TEST_F(CRWSessionControllerTest, CopyState) { |
| 475 // Add 1 committed and 1 pending item to target controller. | 508 // Add 1 committed and 1 pending item to target controller. |
| 476 [session_controller_ | 509 [session_controller_ |
| 477 addPendingItem:GURL("http://www.url.com/2") | 510 addPendingItem:GURL("http://www.url.com/2") |
| 478 referrer:web::Referrer() | 511 referrer:web::Referrer() |
| 479 transition:ui::PAGE_TRANSITION_TYPED | 512 transition:ui::PAGE_TRANSITION_TYPED |
| 480 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 513 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 514 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 481 [session_controller_ commitPendingItem]; | 515 [session_controller_ commitPendingItem]; |
| 482 [session_controller_ | 516 [session_controller_ |
| 483 addPendingItem:GURL("http://www.url.com/3") | 517 addPendingItem:GURL("http://www.url.com/3") |
| 484 referrer:web::Referrer() | 518 referrer:web::Referrer() |
| 485 transition:ui::PAGE_TRANSITION_TYPED | 519 transition:ui::PAGE_TRANSITION_TYPED |
| 486 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 520 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 521 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 487 | 522 |
| 488 // Create source session controller with 1 committed item. | 523 // Create source session controller with 1 committed item. |
| 489 base::scoped_nsobject<CRWSessionController> other_session_controller( | 524 base::scoped_nsobject<CRWSessionController> other_session_controller( |
| 490 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); | 525 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
| 491 [other_session_controller | 526 [other_session_controller |
| 492 addPendingItem:GURL("http://www.url.com/0") | 527 addPendingItem:GURL("http://www.url.com/0") |
| 493 referrer:web::Referrer() | 528 referrer:web::Referrer() |
| 494 transition:ui::PAGE_TRANSITION_TYPED | 529 transition:ui::PAGE_TRANSITION_TYPED |
| 495 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 530 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 531 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 496 [other_session_controller commitPendingItem]; | 532 [other_session_controller commitPendingItem]; |
| 497 [other_session_controller | 533 [other_session_controller |
| 498 addPendingItem:GURL("http://www.url.com/1") | 534 addPendingItem:GURL("http://www.url.com/1") |
| 499 referrer:web::Referrer() | 535 referrer:web::Referrer() |
| 500 transition:ui::PAGE_TRANSITION_TYPED | 536 transition:ui::PAGE_TRANSITION_TYPED |
| 501 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 537 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 538 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 502 | 539 |
| 503 // Insert and verify the state of target session controller. | 540 // Insert and verify the state of target session controller. |
| 504 EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]); | 541 EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]); |
| 505 [session_controller_ | 542 [session_controller_ |
| 506 copyStateFromSessionControllerAndPrune:other_session_controller.get()]; | 543 copyStateFromSessionControllerAndPrune:other_session_controller.get()]; |
| 507 | 544 |
| 508 EXPECT_EQ(2U, [session_controller_ items].size()); | 545 EXPECT_EQ(2U, [session_controller_ items].size()); |
| 509 EXPECT_EQ(1, [session_controller_ lastCommittedItemIndex]); | 546 EXPECT_EQ(1, [session_controller_ lastCommittedItemIndex]); |
| 510 EXPECT_EQ(-1, [session_controller_ previousItemIndex]); | 547 EXPECT_EQ(-1, [session_controller_ previousItemIndex]); |
| 511 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 548 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
| 512 | 549 |
| 513 EXPECT_EQ(GURL("http://www.url.com/0"), | 550 EXPECT_EQ(GURL("http://www.url.com/0"), |
| 514 [session_controller_ URLForItemAtIndex:0]); | 551 [session_controller_ URLForItemAtIndex:0]); |
| 515 EXPECT_EQ(GURL("http://www.url.com/2"), | 552 EXPECT_EQ(GURL("http://www.url.com/2"), |
| 516 [session_controller_ URLForItemAtIndex:1]); | 553 [session_controller_ URLForItemAtIndex:1]); |
| 517 EXPECT_EQ(GURL("http://www.url.com/3"), | 554 EXPECT_EQ(GURL("http://www.url.com/3"), |
| 518 [session_controller_ pendingItem]->GetURL()); | 555 [session_controller_ pendingItem]->GetURL()); |
| 519 } | 556 } |
| 520 | 557 |
| 521 // Tests inserting session controller state from empty session controller. | 558 // Tests inserting session controller state from empty session controller. |
| 522 TEST_F(CRWSessionControllerTest, CopyStateFromEmptySessionController) { | 559 TEST_F(CRWSessionControllerTest, CopyStateFromEmptySessionController) { |
| 523 // Add 2 committed items to target controller. | 560 // Add 2 committed items to target controller. |
| 524 [session_controller_ | 561 [session_controller_ |
| 525 addPendingItem:GURL("http://www.url.com/0") | 562 addPendingItem:GURL("http://www.url.com/0") |
| 526 referrer:web::Referrer() | 563 referrer:web::Referrer() |
| 527 transition:ui::PAGE_TRANSITION_TYPED | 564 transition:ui::PAGE_TRANSITION_TYPED |
| 528 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 565 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 566 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 529 [session_controller_ commitPendingItem]; | 567 [session_controller_ commitPendingItem]; |
| 530 [session_controller_ | 568 [session_controller_ |
| 531 addPendingItem:GURL("http://www.url.com/1") | 569 addPendingItem:GURL("http://www.url.com/1") |
| 532 referrer:web::Referrer() | 570 referrer:web::Referrer() |
| 533 transition:ui::PAGE_TRANSITION_TYPED | 571 transition:ui::PAGE_TRANSITION_TYPED |
| 534 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 572 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 573 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 535 [session_controller_ commitPendingItem]; | 574 [session_controller_ commitPendingItem]; |
| 536 | 575 |
| 537 // Create empty source session controller. | 576 // Create empty source session controller. |
| 538 base::scoped_nsobject<CRWSessionController> other_session_controller( | 577 base::scoped_nsobject<CRWSessionController> other_session_controller( |
| 539 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); | 578 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
| 540 | 579 |
| 541 // Insert and verify the state of target session controller. | 580 // Insert and verify the state of target session controller. |
| 542 EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]); | 581 EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]); |
| 543 [session_controller_ | 582 [session_controller_ |
| 544 copyStateFromSessionControllerAndPrune:other_session_controller.get()]; | 583 copyStateFromSessionControllerAndPrune:other_session_controller.get()]; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 555 | 594 |
| 556 // Tests that |-copyStateFromSessionControllerAndPrune:| is a no-op when the | 595 // Tests that |-copyStateFromSessionControllerAndPrune:| is a no-op when the |
| 557 // receiver has no last committed item. | 596 // receiver has no last committed item. |
| 558 TEST_F(CRWSessionControllerTest, CopyStateToEmptySessionController) { | 597 TEST_F(CRWSessionControllerTest, CopyStateToEmptySessionController) { |
| 559 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); | 598 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); |
| 560 | 599 |
| 561 // Create source session controller with 1 committed item. | 600 // Create source session controller with 1 committed item. |
| 562 base::scoped_nsobject<CRWSessionController> other_session_controller( | 601 base::scoped_nsobject<CRWSessionController> other_session_controller( |
| 563 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); | 602 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
| 564 [other_session_controller | 603 [other_session_controller |
| 565 addPendingItem:GURL("http://www.url.com/0") | 604 addPendingItem:GURL("http://www.url.com/0") |
| 566 referrer:web::Referrer() | 605 referrer:web::Referrer() |
| 567 transition:ui::PAGE_TRANSITION_TYPED | 606 transition:ui::PAGE_TRANSITION_TYPED |
| 568 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 607 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 608 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 569 [other_session_controller commitPendingItem]; | 609 [other_session_controller commitPendingItem]; |
| 570 [other_session_controller | 610 [other_session_controller |
| 571 addPendingItem:GURL("http://www.url.com/1") | 611 addPendingItem:GURL("http://www.url.com/1") |
| 572 referrer:web::Referrer() | 612 referrer:web::Referrer() |
| 573 transition:ui::PAGE_TRANSITION_TYPED | 613 transition:ui::PAGE_TRANSITION_TYPED |
| 574 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 614 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 615 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 575 | 616 |
| 576 // Attempt to copy |other_session_controller|'s state and verify that | 617 // Attempt to copy |other_session_controller|'s state and verify that |
| 577 // |session_controller_| is unchanged. | 618 // |session_controller_| is unchanged. |
| 578 [session_controller_ | 619 [session_controller_ |
| 579 copyStateFromSessionControllerAndPrune:other_session_controller]; | 620 copyStateFromSessionControllerAndPrune:other_session_controller]; |
| 580 EXPECT_TRUE([session_controller_ items].empty()); | 621 EXPECT_TRUE([session_controller_ items].empty()); |
| 581 EXPECT_EQ(-1, [session_controller_ lastCommittedItemIndex]); | 622 EXPECT_EQ(-1, [session_controller_ lastCommittedItemIndex]); |
| 582 EXPECT_EQ(-1, [session_controller_ previousItemIndex]); | 623 EXPECT_EQ(-1, [session_controller_ previousItemIndex]); |
| 583 EXPECT_FALSE([session_controller_ currentItem]); | 624 EXPECT_FALSE([session_controller_ currentItem]); |
| 584 EXPECT_FALSE([session_controller_ pendingItem]); | 625 EXPECT_FALSE([session_controller_ pendingItem]); |
| 585 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 626 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
| 586 } | 627 } |
| 587 | 628 |
| 588 // Tests that |-copyStateFromSessionControllerAndPrune:| is a no-op during a | 629 // Tests that |-copyStateFromSessionControllerAndPrune:| is a no-op during a |
| 589 // pending history navigation. | 630 // pending history navigation. |
| 590 TEST_F(CRWSessionControllerTest, CopyStateDuringPendingHistoryNavigation) { | 631 TEST_F(CRWSessionControllerTest, CopyStateDuringPendingHistoryNavigation) { |
| 591 // Add 1 committed and 1 pending item to target controller. | 632 // Add 1 committed and 1 pending item to target controller. |
| 592 [session_controller_ | 633 [session_controller_ |
| 593 addPendingItem:GURL("http://www.url.com/1") | 634 addPendingItem:GURL("http://www.url.com/1") |
| 594 referrer:web::Referrer() | 635 referrer:web::Referrer() |
| 595 transition:ui::PAGE_TRANSITION_TYPED | 636 transition:ui::PAGE_TRANSITION_TYPED |
| 596 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 637 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 638 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 597 [session_controller_ commitPendingItem]; | 639 [session_controller_ commitPendingItem]; |
| 598 [session_controller_ | 640 [session_controller_ |
| 599 addPendingItem:GURL("http://www.url.com/2") | 641 addPendingItem:GURL("http://www.url.com/2") |
| 600 referrer:web::Referrer() | 642 referrer:web::Referrer() |
| 601 transition:ui::PAGE_TRANSITION_TYPED | 643 transition:ui::PAGE_TRANSITION_TYPED |
| 602 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 644 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 645 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 603 [session_controller_ commitPendingItem]; | 646 [session_controller_ commitPendingItem]; |
| 604 | 647 |
| 605 // Create source session controller with 1 committed item. | 648 // Create source session controller with 1 committed item. |
| 606 base::scoped_nsobject<CRWSessionController> other_session_controller( | 649 base::scoped_nsobject<CRWSessionController> other_session_controller( |
| 607 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); | 650 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
| 608 [other_session_controller | 651 [other_session_controller |
| 609 addPendingItem:GURL("http://www.url.com/0") | 652 addPendingItem:GURL("http://www.url.com/0") |
| 610 referrer:web::Referrer() | 653 referrer:web::Referrer() |
| 611 transition:ui::PAGE_TRANSITION_TYPED | 654 transition:ui::PAGE_TRANSITION_TYPED |
| 612 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 655 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 656 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 613 [other_session_controller commitPendingItem]; | 657 [other_session_controller commitPendingItem]; |
| 614 [other_session_controller | 658 [other_session_controller |
| 615 addPendingItem:GURL("http://www.url.com/1") | 659 addPendingItem:GURL("http://www.url.com/1") |
| 616 referrer:web::Referrer() | 660 referrer:web::Referrer() |
| 617 transition:ui::PAGE_TRANSITION_TYPED | 661 transition:ui::PAGE_TRANSITION_TYPED |
| 618 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 662 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 663 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 619 | 664 |
| 620 // Set the pending item index to the first item. | 665 // Set the pending item index to the first item. |
| 621 [session_controller_ setPendingItemIndex:0]; | 666 [session_controller_ setPendingItemIndex:0]; |
| 622 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); | 667 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); |
| 623 | 668 |
| 624 // Attempt to copy |other_session_controller|'s state and verify that | 669 // Attempt to copy |other_session_controller|'s state and verify that |
| 625 // |session_controller_| is unchanged. | 670 // |session_controller_| is unchanged. |
| 626 [session_controller_ | 671 [session_controller_ |
| 627 copyStateFromSessionControllerAndPrune:other_session_controller]; | 672 copyStateFromSessionControllerAndPrune:other_session_controller]; |
| 628 EXPECT_EQ(2U, [session_controller_ items].size()); | 673 EXPECT_EQ(2U, [session_controller_ items].size()); |
| 629 EXPECT_EQ(1, [session_controller_ lastCommittedItemIndex]); | 674 EXPECT_EQ(1, [session_controller_ lastCommittedItemIndex]); |
| 630 EXPECT_EQ(0, [session_controller_ previousItemIndex]); | 675 EXPECT_EQ(0, [session_controller_ previousItemIndex]); |
| 631 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); | 676 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); |
| 632 EXPECT_TRUE([session_controller_ pendingItem]); | 677 EXPECT_TRUE([session_controller_ pendingItem]); |
| 633 EXPECT_EQ([session_controller_ previousItem], | 678 EXPECT_EQ([session_controller_ previousItem], |
| 634 [session_controller_ pendingItem]); | 679 [session_controller_ pendingItem]); |
| 635 } | 680 } |
| 636 | 681 |
| 637 // Tests that |-copyStateFromSessionControllerAndPrune:| is a when a transient | 682 // Tests that |-copyStateFromSessionControllerAndPrune:| is a when a transient |
| 638 // NavigationItem exists. | 683 // NavigationItem exists. |
| 639 TEST_F(CRWSessionControllerTest, CopyStateWithTransientItem) { | 684 TEST_F(CRWSessionControllerTest, CopyStateWithTransientItem) { |
| 640 // Add 1 committed and 1 pending item to target controller. | 685 // Add 1 committed and 1 pending item to target controller. |
| 641 [session_controller_ | 686 [session_controller_ |
| 642 addPendingItem:GURL("http://www.url.com/1") | 687 addPendingItem:GURL("http://www.url.com/1") |
| 643 referrer:web::Referrer() | 688 referrer:web::Referrer() |
| 644 transition:ui::PAGE_TRANSITION_TYPED | 689 transition:ui::PAGE_TRANSITION_TYPED |
| 645 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 690 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 691 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 646 [session_controller_ commitPendingItem]; | 692 [session_controller_ commitPendingItem]; |
| 647 GURL second_url = GURL("http://www.url.com/2"); | 693 GURL second_url = GURL("http://www.url.com/2"); |
| 648 [session_controller_ | 694 [session_controller_ |
| 649 addPendingItem:second_url | 695 addPendingItem:second_url |
| 650 referrer:web::Referrer() | 696 referrer:web::Referrer() |
| 651 transition:ui::PAGE_TRANSITION_TYPED | 697 transition:ui::PAGE_TRANSITION_TYPED |
| 652 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 698 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 699 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 653 [session_controller_ addTransientItemWithURL:second_url]; | 700 [session_controller_ addTransientItemWithURL:second_url]; |
| 654 | 701 |
| 655 // Create source session controller with 1 committed item. | 702 // Create source session controller with 1 committed item. |
| 656 base::scoped_nsobject<CRWSessionController> other_session_controller( | 703 base::scoped_nsobject<CRWSessionController> other_session_controller( |
| 657 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); | 704 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
| 658 [other_session_controller | 705 [other_session_controller |
| 659 addPendingItem:GURL("http://www.url.com/0") | 706 addPendingItem:GURL("http://www.url.com/0") |
| 660 referrer:web::Referrer() | 707 referrer:web::Referrer() |
| 661 transition:ui::PAGE_TRANSITION_TYPED | 708 transition:ui::PAGE_TRANSITION_TYPED |
| 662 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 709 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 710 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 663 [other_session_controller commitPendingItem]; | 711 [other_session_controller commitPendingItem]; |
| 664 [other_session_controller | 712 [other_session_controller |
| 665 addPendingItem:GURL("http://www.url.com/1") | 713 addPendingItem:GURL("http://www.url.com/1") |
| 666 referrer:web::Referrer() | 714 referrer:web::Referrer() |
| 667 transition:ui::PAGE_TRANSITION_TYPED | 715 transition:ui::PAGE_TRANSITION_TYPED |
| 668 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 716 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 717 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 669 | 718 |
| 670 // Attempt to copy |other_session_controller|'s state and verify that | 719 // Attempt to copy |other_session_controller|'s state and verify that |
| 671 // |session_controller_| is unchanged. | 720 // |session_controller_| is unchanged. |
| 672 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); | 721 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); |
| 673 [session_controller_ | 722 [session_controller_ |
| 674 copyStateFromSessionControllerAndPrune:other_session_controller]; | 723 copyStateFromSessionControllerAndPrune:other_session_controller]; |
| 675 EXPECT_EQ(1U, [session_controller_ items].size()); | 724 EXPECT_EQ(1U, [session_controller_ items].size()); |
| 676 EXPECT_EQ(0, [session_controller_ lastCommittedItemIndex]); | 725 EXPECT_EQ(0, [session_controller_ lastCommittedItemIndex]); |
| 677 EXPECT_EQ(-1, [session_controller_ previousItemIndex]); | 726 EXPECT_EQ(-1, [session_controller_ previousItemIndex]); |
| 678 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 727 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 EXPECT_EQ(controller.get().previousItemIndex, -1); | 792 EXPECT_EQ(controller.get().previousItemIndex, -1); |
| 744 // Sanity check the current item, the NavigationItem unit test will ensure | 793 // Sanity check the current item, the NavigationItem unit test will ensure |
| 745 // the entire object is created properly. | 794 // the entire object is created properly. |
| 746 EXPECT_EQ([controller currentItem]->GetURL(), GURL("http://www.yahoo.com")); | 795 EXPECT_EQ([controller currentItem]->GetURL(), GURL("http://www.yahoo.com")); |
| 747 } | 796 } |
| 748 | 797 |
| 749 // Tests index of previous navigation item. | 798 // Tests index of previous navigation item. |
| 750 TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { | 799 TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { |
| 751 EXPECT_EQ(session_controller_.get().previousItemIndex, -1); | 800 EXPECT_EQ(session_controller_.get().previousItemIndex, -1); |
| 752 [session_controller_ | 801 [session_controller_ |
| 753 addPendingItem:GURL("http://www.url.com") | 802 addPendingItem:GURL("http://www.url.com") |
| 754 referrer:MakeReferrer("http://www.referer.com") | 803 referrer:MakeReferrer("http://www.referer.com") |
| 755 transition:ui::PAGE_TRANSITION_TYPED | 804 transition:ui::PAGE_TRANSITION_TYPED |
| 756 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 805 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 806 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 757 [session_controller_ commitPendingItem]; | 807 [session_controller_ commitPendingItem]; |
| 758 EXPECT_EQ(session_controller_.get().previousItemIndex, -1); | 808 EXPECT_EQ(session_controller_.get().previousItemIndex, -1); |
| 759 [session_controller_ | 809 [session_controller_ |
| 760 addPendingItem:GURL("http://www.url1.com") | 810 addPendingItem:GURL("http://www.url1.com") |
| 761 referrer:MakeReferrer("http://www.referer.com") | 811 referrer:MakeReferrer("http://www.referer.com") |
| 762 transition:ui::PAGE_TRANSITION_TYPED | 812 transition:ui::PAGE_TRANSITION_TYPED |
| 763 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 813 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 814 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 764 [session_controller_ commitPendingItem]; | 815 [session_controller_ commitPendingItem]; |
| 765 EXPECT_EQ(session_controller_.get().previousItemIndex, 0); | 816 EXPECT_EQ(session_controller_.get().previousItemIndex, 0); |
| 766 [session_controller_ | 817 [session_controller_ |
| 767 addPendingItem:GURL("http://www.url2.com") | 818 addPendingItem:GURL("http://www.url2.com") |
| 768 referrer:MakeReferrer("http://www.referer.com") | 819 referrer:MakeReferrer("http://www.referer.com") |
| 769 transition:ui::PAGE_TRANSITION_TYPED | 820 transition:ui::PAGE_TRANSITION_TYPED |
| 770 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 821 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 822 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 771 [session_controller_ commitPendingItem]; | 823 [session_controller_ commitPendingItem]; |
| 772 | 824 |
| 773 EXPECT_EQ(session_controller_.get().previousItemIndex, 1); | 825 EXPECT_EQ(session_controller_.get().previousItemIndex, 1); |
| 774 | 826 |
| 775 [session_controller_ goToItemAtIndex:1]; | 827 [session_controller_ goToItemAtIndex:1]; |
| 776 EXPECT_EQ(session_controller_.get().previousItemIndex, 2); | 828 EXPECT_EQ(session_controller_.get().previousItemIndex, 2); |
| 777 | 829 |
| 778 [session_controller_ goToItemAtIndex:0]; | 830 [session_controller_ goToItemAtIndex:0]; |
| 779 EXPECT_EQ(session_controller_.get().previousItemIndex, 1); | 831 EXPECT_EQ(session_controller_.get().previousItemIndex, 1); |
| 780 | 832 |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 906 replacedItem = [controller currentItem]; | 958 replacedItem = [controller currentItem]; |
| 907 EXPECT_EQ(expectedCount, controller.get().items.size()); | 959 EXPECT_EQ(expectedCount, controller.get().items.size()); |
| 908 EXPECT_EQ(replacePageGurl2, replacedItem->GetURL()); | 960 EXPECT_EQ(replacePageGurl2, replacedItem->GetURL()); |
| 909 EXPECT_FALSE(replacedItem->IsCreatedFromPushState()); | 961 EXPECT_FALSE(replacedItem->IsCreatedFromPushState()); |
| 910 EXPECT_NSEQ(nil, replacedItem->GetSerializedStateObject()); | 962 EXPECT_NSEQ(nil, replacedItem->GetSerializedStateObject()); |
| 911 EXPECT_EQ(GURL("http://www.starturl.com/"), replacedItem->GetReferrer().url); | 963 EXPECT_EQ(GURL("http://www.starturl.com/"), replacedItem->GetReferrer().url); |
| 912 } | 964 } |
| 913 | 965 |
| 914 TEST_F(CRWSessionControllerTest, TestBackwardForwardItems) { | 966 TEST_F(CRWSessionControllerTest, TestBackwardForwardItems) { |
| 915 [session_controller_ | 967 [session_controller_ |
| 916 addPendingItem:GURL("http://www.example.com/0") | 968 addPendingItem:GURL("http://www.example.com/0") |
| 917 referrer:MakeReferrer("http://www.example.com/a") | 969 referrer:MakeReferrer("http://www.example.com/a") |
| 918 transition:ui::PAGE_TRANSITION_LINK | 970 transition:ui::PAGE_TRANSITION_LINK |
| 919 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 971 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 972 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 920 [session_controller_ commitPendingItem]; | 973 [session_controller_ commitPendingItem]; |
| 921 [session_controller_ | 974 [session_controller_ |
| 922 addPendingItem:GURL("http://www.example.com/1") | 975 addPendingItem:GURL("http://www.example.com/1") |
| 923 referrer:MakeReferrer("http://www.example.com/b") | 976 referrer:MakeReferrer("http://www.example.com/b") |
| 924 transition:ui::PAGE_TRANSITION_LINK | 977 transition:ui::PAGE_TRANSITION_LINK |
| 925 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 978 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 979 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 926 [session_controller_ commitPendingItem]; | 980 [session_controller_ commitPendingItem]; |
| 927 [session_controller_ | 981 [session_controller_ |
| 928 addPendingItem:GURL("http://www.example.com/redirect") | 982 addPendingItem:GURL("http://www.example.com/redirect") |
| 929 referrer:MakeReferrer("http://www.example.com/r") | 983 referrer:MakeReferrer("http://www.example.com/r") |
| 930 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT | 984 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT |
| 931 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 985 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 986 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 932 [session_controller_ commitPendingItem]; | 987 [session_controller_ commitPendingItem]; |
| 933 [session_controller_ | 988 [session_controller_ |
| 934 addPendingItem:GURL("http://www.example.com/2") | 989 addPendingItem:GURL("http://www.example.com/2") |
| 935 referrer:MakeReferrer("http://www.example.com/c") | 990 referrer:MakeReferrer("http://www.example.com/c") |
| 936 transition:ui::PAGE_TRANSITION_LINK | 991 transition:ui::PAGE_TRANSITION_LINK |
| 937 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 992 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 993 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 938 [session_controller_ commitPendingItem]; | 994 [session_controller_ commitPendingItem]; |
| 939 | 995 |
| 940 EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex); | 996 EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex); |
| 941 web::NavigationItemList backItems = [session_controller_ backwardItems]; | 997 web::NavigationItemList backItems = [session_controller_ backwardItems]; |
| 942 EXPECT_EQ(2U, backItems.size()); | 998 EXPECT_EQ(2U, backItems.size()); |
| 943 EXPECT_TRUE([session_controller_ forwardItems].empty()); | 999 EXPECT_TRUE([session_controller_ forwardItems].empty()); |
| 944 EXPECT_EQ("http://www.example.com/redirect", backItems[0]->GetURL().spec()); | 1000 EXPECT_EQ("http://www.example.com/redirect", backItems[0]->GetURL().spec()); |
| 945 | 1001 |
| 946 [session_controller_ goToItemAtIndex:1]; | 1002 [session_controller_ goToItemAtIndex:1]; |
| 947 EXPECT_EQ(1U, [session_controller_ backwardItems].size()); | 1003 EXPECT_EQ(1U, [session_controller_ backwardItems].size()); |
| 948 EXPECT_EQ(1U, [session_controller_ forwardItems].size()); | 1004 EXPECT_EQ(1U, [session_controller_ forwardItems].size()); |
| 949 | 1005 |
| 950 [session_controller_ goToItemAtIndex:0]; | 1006 [session_controller_ goToItemAtIndex:0]; |
| 951 web::NavigationItemList forwardItems = [session_controller_ forwardItems]; | 1007 web::NavigationItemList forwardItems = [session_controller_ forwardItems]; |
| 952 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); | 1008 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); |
| 953 EXPECT_EQ(2U, forwardItems.size()); | 1009 EXPECT_EQ(2U, forwardItems.size()); |
| 954 EXPECT_EQ("http://www.example.com/2", forwardItems[1]->GetURL().spec()); | 1010 EXPECT_EQ("http://www.example.com/2", forwardItems[1]->GetURL().spec()); |
| 955 } | 1011 } |
| 956 | 1012 |
| 957 // Tests going to items with existing and non-existing indices. | 1013 // Tests going to items with existing and non-existing indices. |
| 958 TEST_F(CRWSessionControllerTest, GoToItemAtIndex) { | 1014 TEST_F(CRWSessionControllerTest, GoToItemAtIndex) { |
| 959 [session_controller_ | 1015 [session_controller_ |
| 960 addPendingItem:GURL("http://www.example.com/0") | 1016 addPendingItem:GURL("http://www.example.com/0") |
| 961 referrer:MakeReferrer("http://www.example.com/a") | 1017 referrer:MakeReferrer("http://www.example.com/a") |
| 962 transition:ui::PAGE_TRANSITION_LINK | 1018 transition:ui::PAGE_TRANSITION_LINK |
| 963 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1019 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1020 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 964 [session_controller_ commitPendingItem]; | 1021 [session_controller_ commitPendingItem]; |
| 965 [session_controller_ | 1022 [session_controller_ |
| 966 addPendingItem:GURL("http://www.example.com/1") | 1023 addPendingItem:GURL("http://www.example.com/1") |
| 967 referrer:MakeReferrer("http://www.example.com/b") | 1024 referrer:MakeReferrer("http://www.example.com/b") |
| 968 transition:ui::PAGE_TRANSITION_LINK | 1025 transition:ui::PAGE_TRANSITION_LINK |
| 969 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1026 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1027 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 970 [session_controller_ commitPendingItem]; | 1028 [session_controller_ commitPendingItem]; |
| 971 [session_controller_ | 1029 [session_controller_ |
| 972 addPendingItem:GURL("http://www.example.com/redirect") | 1030 addPendingItem:GURL("http://www.example.com/redirect") |
| 973 referrer:MakeReferrer("http://www.example.com/r") | 1031 referrer:MakeReferrer("http://www.example.com/r") |
| 974 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT | 1032 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT |
| 975 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1033 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1034 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 976 [session_controller_ commitPendingItem]; | 1035 [session_controller_ commitPendingItem]; |
| 977 [session_controller_ | 1036 [session_controller_ |
| 978 addPendingItem:GURL("http://www.example.com/2") | 1037 addPendingItem:GURL("http://www.example.com/2") |
| 979 referrer:MakeReferrer("http://www.example.com/c") | 1038 referrer:MakeReferrer("http://www.example.com/c") |
| 980 transition:ui::PAGE_TRANSITION_LINK | 1039 transition:ui::PAGE_TRANSITION_LINK |
| 981 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1040 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1041 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 982 [session_controller_ commitPendingItem]; | 1042 [session_controller_ commitPendingItem]; |
| 983 [session_controller_ | 1043 [session_controller_ |
| 984 addPendingItem:GURL("http://www.example.com/3") | 1044 addPendingItem:GURL("http://www.example.com/3") |
| 985 referrer:MakeReferrer("http://www.example.com/d") | 1045 referrer:MakeReferrer("http://www.example.com/d") |
| 986 transition:ui::PAGE_TRANSITION_LINK | 1046 transition:ui::PAGE_TRANSITION_LINK |
| 987 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1047 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1048 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 988 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; | 1049 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
| 989 EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex); | 1050 EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex); |
| 990 EXPECT_EQ(2, session_controller_.get().previousItemIndex); | 1051 EXPECT_EQ(2, session_controller_.get().previousItemIndex); |
| 991 EXPECT_TRUE([session_controller_ pendingItem]); | 1052 EXPECT_TRUE([session_controller_ pendingItem]); |
| 992 EXPECT_TRUE([session_controller_ transientItem]); | 1053 EXPECT_TRUE([session_controller_ transientItem]); |
| 993 | 1054 |
| 994 // Going back should discard transient and pending items. | 1055 // Going back should discard transient and pending items. |
| 995 [session_controller_ goToItemAtIndex:1]; | 1056 [session_controller_ goToItemAtIndex:1]; |
| 996 EXPECT_EQ(1, session_controller_.get().lastCommittedItemIndex); | 1057 EXPECT_EQ(1, session_controller_.get().lastCommittedItemIndex); |
| 997 EXPECT_EQ(3, session_controller_.get().previousItemIndex); | 1058 EXPECT_EQ(3, session_controller_.get().previousItemIndex); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1026 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; | 1087 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
| 1027 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1088 web::NavigationItem* visible_item = [session_controller_ visibleItem]; |
| 1028 ASSERT_TRUE(visible_item); | 1089 ASSERT_TRUE(visible_item); |
| 1029 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); | 1090 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); |
| 1030 } | 1091 } |
| 1031 | 1092 |
| 1032 // Tests that visible URL is the same as transient URL if there is a committed | 1093 // Tests that visible URL is the same as transient URL if there is a committed |
| 1033 // item. | 1094 // item. |
| 1034 TEST_F(CRWSessionControllerTest, VisibleItemWithCommittedAndTransientItems) { | 1095 TEST_F(CRWSessionControllerTest, VisibleItemWithCommittedAndTransientItems) { |
| 1035 [session_controller_ | 1096 [session_controller_ |
| 1036 addPendingItem:GURL("http://www.example.com/0") | 1097 addPendingItem:GURL("http://www.example.com/0") |
| 1037 referrer:MakeReferrer("http://www.example.com/a") | 1098 referrer:MakeReferrer("http://www.example.com/a") |
| 1038 transition:ui::PAGE_TRANSITION_LINK | 1099 transition:ui::PAGE_TRANSITION_LINK |
| 1039 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1100 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1101 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1040 [session_controller_ commitPendingItem]; | 1102 [session_controller_ commitPendingItem]; |
| 1041 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; | 1103 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
| 1042 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1104 web::NavigationItem* visible_item = [session_controller_ visibleItem]; |
| 1043 ASSERT_TRUE(visible_item); | 1105 ASSERT_TRUE(visible_item); |
| 1044 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); | 1106 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); |
| 1045 } | 1107 } |
| 1046 | 1108 |
| 1047 // Tests that visible URL is the same as pending URL if it was user-initiated. | 1109 // Tests that visible URL is the same as pending URL if it was user-initiated. |
| 1048 TEST_F(CRWSessionControllerTest, | 1110 TEST_F(CRWSessionControllerTest, |
| 1049 VisibleItemWithSingleUserInitiatedPendingItem) { | 1111 VisibleItemWithSingleUserInitiatedPendingItem) { |
| 1050 [session_controller_ | 1112 [session_controller_ |
| 1051 addPendingItem:GURL("http://www.example.com/0") | 1113 addPendingItem:GURL("http://www.example.com/0") |
| 1052 referrer:MakeReferrer("http://www.example.com/a") | 1114 referrer:MakeReferrer("http://www.example.com/a") |
| 1053 transition:ui::PAGE_TRANSITION_LINK | 1115 transition:ui::PAGE_TRANSITION_LINK |
| 1054 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1116 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1117 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1055 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1118 web::NavigationItem* visible_item = [session_controller_ visibleItem]; |
| 1056 ASSERT_TRUE(visible_item); | 1119 ASSERT_TRUE(visible_item); |
| 1057 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); | 1120 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); |
| 1058 } | 1121 } |
| 1059 | 1122 |
| 1060 // Tests that visible URL is the same as pending URL if it was user-initiated | 1123 // Tests that visible URL is the same as pending URL if it was user-initiated |
| 1061 // and there is a committed item. | 1124 // and there is a committed item. |
| 1062 TEST_F(CRWSessionControllerTest, | 1125 TEST_F(CRWSessionControllerTest, |
| 1063 VisibleItemWithCommittedAndUserInitiatedPendingItem) { | 1126 VisibleItemWithCommittedAndUserInitiatedPendingItem) { |
| 1064 [session_controller_ | 1127 [session_controller_ |
| 1065 addPendingItem:GURL("http://www.example.com") | 1128 addPendingItem:GURL("http://www.example.com") |
| 1066 referrer:MakeReferrer("http://www.example.com/a") | 1129 referrer:MakeReferrer("http://www.example.com/a") |
| 1067 transition:ui::PAGE_TRANSITION_LINK | 1130 transition:ui::PAGE_TRANSITION_LINK |
| 1068 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1131 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1132 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1069 [session_controller_ commitPendingItem]; | 1133 [session_controller_ commitPendingItem]; |
| 1070 [session_controller_ | 1134 [session_controller_ |
| 1071 addPendingItem:GURL("http://www.example.com/0") | 1135 addPendingItem:GURL("http://www.example.com/0") |
| 1072 referrer:MakeReferrer("http://www.example.com/b") | 1136 referrer:MakeReferrer("http://www.example.com/b") |
| 1073 transition:ui::PAGE_TRANSITION_LINK | 1137 transition:ui::PAGE_TRANSITION_LINK |
| 1074 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1138 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1139 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1075 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1140 web::NavigationItem* visible_item = [session_controller_ visibleItem]; |
| 1076 ASSERT_TRUE(visible_item); | 1141 ASSERT_TRUE(visible_item); |
| 1077 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); | 1142 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); |
| 1078 } | 1143 } |
| 1079 | 1144 |
| 1080 // Tests that visible URL is not the same as pending URL if it was | 1145 // Tests that visible URL is not the same as pending URL if it was |
| 1081 // renderer-initiated. | 1146 // renderer-initiated. |
| 1082 TEST_F(CRWSessionControllerTest, | 1147 TEST_F(CRWSessionControllerTest, |
| 1083 VisibleItemWithSingleRendererInitiatedPendingItem) { | 1148 VisibleItemWithSingleRendererInitiatedPendingItem) { |
| 1084 [session_controller_ | 1149 [session_controller_ |
| 1085 addPendingItem:GURL("http://www.example.com/0") | 1150 addPendingItem:GURL("http://www.example.com/0") |
| 1086 referrer:MakeReferrer("http://www.example.com/a") | 1151 referrer:MakeReferrer("http://www.example.com/a") |
| 1087 transition:ui::PAGE_TRANSITION_LINK | 1152 transition:ui::PAGE_TRANSITION_LINK |
| 1088 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 1153 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 1154 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1089 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1155 web::NavigationItem* visible_item = [session_controller_ visibleItem]; |
| 1090 ASSERT_FALSE(visible_item); | 1156 ASSERT_FALSE(visible_item); |
| 1091 } | 1157 } |
| 1092 | 1158 |
| 1093 // Tests that visible URL is not the same as pending URL if it was | 1159 // Tests that visible URL is not the same as pending URL if it was |
| 1094 // renderer-initiated and there is a committed item. | 1160 // renderer-initiated and there is a committed item. |
| 1095 TEST_F(CRWSessionControllerTest, | 1161 TEST_F(CRWSessionControllerTest, |
| 1096 VisibleItemWithCommittedAndRendererInitiatedPendingItem) { | 1162 VisibleItemWithCommittedAndRendererInitiatedPendingItem) { |
| 1097 [session_controller_ | 1163 [session_controller_ |
| 1098 addPendingItem:GURL("http://www.example.com") | 1164 addPendingItem:GURL("http://www.example.com") |
| 1099 referrer:MakeReferrer("http://www.example.com/a") | 1165 referrer:MakeReferrer("http://www.example.com/a") |
| 1100 transition:ui::PAGE_TRANSITION_LINK | 1166 transition:ui::PAGE_TRANSITION_LINK |
| 1101 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 1167 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 1168 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1102 [session_controller_ commitPendingItem]; | 1169 [session_controller_ commitPendingItem]; |
| 1103 [session_controller_ | 1170 [session_controller_ |
| 1104 addPendingItem:GURL("http://www.example.com/0") | 1171 addPendingItem:GURL("http://www.example.com/0") |
| 1105 referrer:MakeReferrer("http://www.example.com/b") | 1172 referrer:MakeReferrer("http://www.example.com/b") |
| 1106 transition:ui::PAGE_TRANSITION_LINK | 1173 transition:ui::PAGE_TRANSITION_LINK |
| 1107 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 1174 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 1175 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1108 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1176 web::NavigationItem* visible_item = [session_controller_ visibleItem]; |
| 1109 ASSERT_TRUE(visible_item); | 1177 ASSERT_TRUE(visible_item); |
| 1110 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); | 1178 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); |
| 1111 } | 1179 } |
| 1112 | 1180 |
| 1113 // Tests that visible URL is not the same as pending URL created via pending | 1181 // Tests that visible URL is not the same as pending URL created via pending |
| 1114 // navigation index. | 1182 // navigation index. |
| 1115 TEST_F(CRWSessionControllerTest, VisibleItemWithPendingNavigationIndex) { | 1183 TEST_F(CRWSessionControllerTest, VisibleItemWithPendingNavigationIndex) { |
| 1116 [session_controller_ | 1184 [session_controller_ |
| 1117 addPendingItem:GURL("http://www.example.com") | 1185 addPendingItem:GURL("http://www.example.com") |
| 1118 referrer:MakeReferrer("http://www.example.com/a") | 1186 referrer:MakeReferrer("http://www.example.com/a") |
| 1119 transition:ui::PAGE_TRANSITION_LINK | 1187 transition:ui::PAGE_TRANSITION_LINK |
| 1120 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1188 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1189 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1121 [session_controller_ commitPendingItem]; | 1190 [session_controller_ commitPendingItem]; |
| 1122 [session_controller_ | 1191 [session_controller_ |
| 1123 addPendingItem:GURL("http://www.example.com/0") | 1192 addPendingItem:GURL("http://www.example.com/0") |
| 1124 referrer:MakeReferrer("http://www.example.com/b") | 1193 referrer:MakeReferrer("http://www.example.com/b") |
| 1125 transition:ui::PAGE_TRANSITION_LINK | 1194 transition:ui::PAGE_TRANSITION_LINK |
| 1126 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1195 initiationType:web::NavigationInitiationType::USER_INITIATED |
| 1196 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1127 [session_controller_ commitPendingItem]; | 1197 [session_controller_ commitPendingItem]; |
| 1128 | 1198 |
| 1129 [session_controller_ setPendingItemIndex:0]; | 1199 [session_controller_ setPendingItemIndex:0]; |
| 1130 | 1200 |
| 1131 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1201 web::NavigationItem* visible_item = [session_controller_ visibleItem]; |
| 1132 ASSERT_TRUE(visible_item); | 1202 ASSERT_TRUE(visible_item); |
| 1133 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); | 1203 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); |
| 1134 } | 1204 } |
| 1135 | 1205 |
| 1136 // Tests that |-backwardItems| is empty if all preceding items are | 1206 // Tests that |-backwardItems| is empty if all preceding items are |
| 1137 // redirects. | 1207 // redirects. |
| 1138 TEST_F(CRWSessionControllerTest, BackwardItemsForAllRedirects) { | 1208 TEST_F(CRWSessionControllerTest, BackwardItemsForAllRedirects) { |
| 1139 [session_controller_ | 1209 [session_controller_ |
| 1140 addPendingItem:GURL("http://www.example.com") | 1210 addPendingItem:GURL("http://www.example.com") |
| 1141 referrer:MakeReferrer("http://www.example.com/a") | 1211 referrer:MakeReferrer("http://www.example.com/a") |
| 1142 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT | 1212 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT |
| 1143 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 1213 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 1214 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1144 [session_controller_ commitPendingItem]; | 1215 [session_controller_ commitPendingItem]; |
| 1145 [session_controller_ | 1216 [session_controller_ |
| 1146 addPendingItem:GURL("http://www.example.com/0") | 1217 addPendingItem:GURL("http://www.example.com/0") |
| 1147 referrer:MakeReferrer("http://www.example.com/b") | 1218 referrer:MakeReferrer("http://www.example.com/b") |
| 1148 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT | 1219 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT |
| 1149 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 1220 initiationType:web::NavigationInitiationType::RENDERER_INITIATED |
| 1221 userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
| 1150 [session_controller_ commitPendingItem]; | 1222 [session_controller_ commitPendingItem]; |
| 1151 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); | 1223 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); |
| 1152 } | 1224 } |
| 1153 | 1225 |
| 1154 } // anonymous namespace | 1226 } // anonymous namespace |
| OLD | NEW |