| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/navigation_manager_impl.h" | 5 #import "ios/web/navigation/navigation_manager_impl.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #import "base/mac/scoped_nsobject.h" | 8 #import "base/mac/scoped_nsobject.h" |
| 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" | 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" |
| 10 #import "ios/web/navigation/navigation_manager_delegate.h" | 10 #import "ios/web/navigation/navigation_manager_delegate.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 EXPECT_EQ(-1, navigation_manager()->GetCurrentItemIndex()); | 55 EXPECT_EQ(-1, navigation_manager()->GetCurrentItemIndex()); |
| 56 EXPECT_FALSE(navigation_manager()->GetPreviousItem()); | 56 EXPECT_FALSE(navigation_manager()->GetPreviousItem()); |
| 57 EXPECT_EQ(-1, navigation_manager()->GetCurrentItemIndex()); | 57 EXPECT_EQ(-1, navigation_manager()->GetCurrentItemIndex()); |
| 58 EXPECT_FALSE(navigation_manager()->GetPendingItem()); | 58 EXPECT_FALSE(navigation_manager()->GetPendingItem()); |
| 59 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 59 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 60 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0)); | 60 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0)); |
| 61 } | 61 } |
| 62 | 62 |
| 63 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry. | 63 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry. |
| 64 TEST_F(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) { | 64 TEST_F(NavigationManagerTest, GetPendingItemIndexWithoutPendingEntry) { |
| 65 [session_controller() addPendingEntry:GURL("http://www.url.com") | 65 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 66 referrer:Referrer() | 66 referrer:Referrer() |
| 67 transition:ui::PAGE_TRANSITION_TYPED | 67 transition:ui::PAGE_TRANSITION_TYPED |
| 68 rendererInitiated:NO]; | 68 rendererInitiated:NO]; |
| 69 [session_controller() commitPendingEntry]; | 69 [session_controller() commitPendingItem]; |
| 70 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 70 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 71 } | 71 } |
| 72 | 72 |
| 73 // Tests that GetPendingItemIndex() returns current item index if there is a | 73 // Tests that GetPendingItemIndex() returns current item index if there is a |
| 74 // pending entry. | 74 // pending entry. |
| 75 TEST_F(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) { | 75 TEST_F(NavigationManagerTest, GetPendingItemIndexWithPendingEntry) { |
| 76 [session_controller() addPendingEntry:GURL("http://www.url.com") | 76 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 77 referrer:Referrer() | 77 referrer:Referrer() |
| 78 transition:ui::PAGE_TRANSITION_TYPED | 78 transition:ui::PAGE_TRANSITION_TYPED |
| 79 rendererInitiated:NO]; | 79 rendererInitiated:NO]; |
| 80 [session_controller() commitPendingEntry]; | 80 [session_controller() commitPendingItem]; |
| 81 [session_controller() addPendingEntry:GURL("http://www.url.com/0") | 81 [session_controller() addPendingItem:GURL("http://www.url.com/0") |
| 82 referrer:Referrer() | 82 referrer:Referrer() |
| 83 transition:ui::PAGE_TRANSITION_TYPED | 83 transition:ui::PAGE_TRANSITION_TYPED |
| 84 rendererInitiated:NO]; | 84 rendererInitiated:NO]; |
| 85 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); | 85 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); |
| 86 } | 86 } |
| 87 | 87 |
| 88 // Tests that GetPendingItemIndex() returns same index as was set by | 88 // Tests that GetPendingItemIndex() returns same index as was set by |
| 89 // -[CRWSessionController setPendingEntryIndex:]. | 89 // -[CRWSessionController setPendingItemIndex:]. |
| 90 TEST_F(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) { | 90 TEST_F(NavigationManagerTest, GetPendingItemIndexWithIndexedPendingEntry) { |
| 91 [session_controller() addPendingEntry:GURL("http://www.url.com") | 91 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 92 referrer:Referrer() | 92 referrer:Referrer() |
| 93 transition:ui::PAGE_TRANSITION_TYPED | 93 transition:ui::PAGE_TRANSITION_TYPED |
| 94 rendererInitiated:NO]; | 94 rendererInitiated:NO]; |
| 95 [session_controller() commitPendingEntry]; | 95 [session_controller() commitPendingItem]; |
| 96 [session_controller() addPendingEntry:GURL("http://www.url.com/0") | 96 [session_controller() addPendingItem:GURL("http://www.url.com/0") |
| 97 referrer:Referrer() | 97 referrer:Referrer() |
| 98 transition:ui::PAGE_TRANSITION_TYPED | 98 transition:ui::PAGE_TRANSITION_TYPED |
| 99 rendererInitiated:NO]; | 99 rendererInitiated:NO]; |
| 100 [session_controller() commitPendingEntry]; | 100 [session_controller() commitPendingItem]; |
| 101 | 101 |
| 102 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 102 EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 103 [session_controller() setPendingEntryIndex:0]; | 103 [session_controller() setPendingItemIndex:0]; |
| 104 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); | 104 EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex()); |
| 105 } | 105 } |
| 106 | 106 |
| 107 // Tests that going back or negative offset is not possible without a committed | 107 // Tests that going back or negative offset is not possible without a committed |
| 108 // item. | 108 // item. |
| 109 TEST_F(NavigationManagerTest, CanGoBackWithoutCommitedItem) { | 109 TEST_F(NavigationManagerTest, CanGoBackWithoutCommitedItem) { |
| 110 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 110 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 111 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 111 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 112 } | 112 } |
| 113 | 113 |
| 114 // Tests that going back or negative offset is not possible if there is a | 114 // Tests that going back or negative offset is not possible if there is a |
| 115 // transient item, but not committed items. | 115 // transient item, but not committed items. |
| 116 TEST_F(NavigationManagerTest, CanGoBackWithTransientItem) { | 116 TEST_F(NavigationManagerTest, CanGoBackWithTransientItem) { |
| 117 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com")]; | 117 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; |
| 118 | 118 |
| 119 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 119 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 120 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 120 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 121 } | 121 } |
| 122 | 122 |
| 123 // Tests that going back or negative offset is possible if there is a transient | 123 // Tests that going back or negative offset is possible if there is a transient |
| 124 // item and at least one committed item. | 124 // item and at least one committed item. |
| 125 TEST_F(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) { | 125 TEST_F(NavigationManagerTest, CanGoBackWithTransientItemAndCommittedItem) { |
| 126 [session_controller() addPendingEntry:GURL("http://www.url.com") | 126 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 127 referrer:Referrer() | 127 referrer:Referrer() |
| 128 transition:ui::PAGE_TRANSITION_TYPED | 128 transition:ui::PAGE_TRANSITION_TYPED |
| 129 rendererInitiated:NO]; | 129 rendererInitiated:NO]; |
| 130 [session_controller() commitPendingEntry]; | 130 [session_controller() commitPendingItem]; |
| 131 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com/0")]; | 131 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/0")]; |
| 132 | 132 |
| 133 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 133 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 134 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 134 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 135 } | 135 } |
| 136 | 136 |
| 137 // Tests that going back or negative offset is not possible if there is ony one | 137 // Tests that going back or negative offset is not possible if there is ony one |
| 138 // committed item and no transient item. | 138 // committed item and no transient item. |
| 139 TEST_F(NavigationManagerTest, CanGoBackWithSingleCommitedItem) { | 139 TEST_F(NavigationManagerTest, CanGoBackWithSingleCommitedItem) { |
| 140 [session_controller() addPendingEntry:GURL("http://www.url.com") | 140 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 141 referrer:Referrer() | 141 referrer:Referrer() |
| 142 transition:ui::PAGE_TRANSITION_TYPED | 142 transition:ui::PAGE_TRANSITION_TYPED |
| 143 rendererInitiated:NO]; | 143 rendererInitiated:NO]; |
| 144 [session_controller() commitPendingEntry]; | 144 [session_controller() commitPendingItem]; |
| 145 | 145 |
| 146 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 146 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 147 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 147 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 148 } | 148 } |
| 149 | 149 |
| 150 // Tests going back possibility with multiple committed items. | 150 // Tests going back possibility with multiple committed items. |
| 151 TEST_F(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) { | 151 TEST_F(NavigationManagerTest, CanGoBackWithMultipleCommitedItems) { |
| 152 [session_controller() addPendingEntry:GURL("http://www.url.com") | 152 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 153 referrer:Referrer() | 153 referrer:Referrer() |
| 154 transition:ui::PAGE_TRANSITION_TYPED | 154 transition:ui::PAGE_TRANSITION_TYPED |
| 155 rendererInitiated:NO]; | 155 rendererInitiated:NO]; |
| 156 [session_controller() commitPendingEntry]; | 156 [session_controller() commitPendingItem]; |
| 157 [session_controller() addPendingEntry:GURL("http://www.url.com/0") | 157 [session_controller() addPendingItem:GURL("http://www.url.com/0") |
| 158 referrer:Referrer() | 158 referrer:Referrer() |
| 159 transition:ui::PAGE_TRANSITION_TYPED | 159 transition:ui::PAGE_TRANSITION_TYPED |
| 160 rendererInitiated:NO]; | 160 rendererInitiated:NO]; |
| 161 [session_controller() commitPendingEntry]; | 161 [session_controller() commitPendingItem]; |
| 162 [session_controller() addPendingEntry:GURL("http://www.url.com/1") | 162 [session_controller() addPendingItem:GURL("http://www.url.com/1") |
| 163 referrer:Referrer() | 163 referrer:Referrer() |
| 164 transition:ui::PAGE_TRANSITION_TYPED | 164 transition:ui::PAGE_TRANSITION_TYPED |
| 165 rendererInitiated:NO]; | 165 rendererInitiated:NO]; |
| 166 [session_controller() commitPendingEntry]; | 166 [session_controller() commitPendingItem]; |
| 167 | 167 |
| 168 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 168 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 169 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 169 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 170 | 170 |
| 171 [session_controller() goToEntryAtIndex:1]; | 171 [session_controller() goToItemAtIndex:1]; |
| 172 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 172 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 173 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 173 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 174 | 174 |
| 175 [session_controller() goToEntryAtIndex:0]; | 175 [session_controller() goToItemAtIndex:0]; |
| 176 EXPECT_FALSE(navigation_manager()->CanGoBack()); | 176 EXPECT_FALSE(navigation_manager()->CanGoBack()); |
| 177 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 177 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 178 | 178 |
| 179 [session_controller() goToEntryAtIndex:1]; | 179 [session_controller() goToItemAtIndex:1]; |
| 180 EXPECT_TRUE(navigation_manager()->CanGoBack()); | 180 EXPECT_TRUE(navigation_manager()->CanGoBack()); |
| 181 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 181 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 182 } | 182 } |
| 183 | 183 |
| 184 // Tests that going forward or positive offset is not possible if there is a | 184 // Tests that going forward or positive offset is not possible if there is a |
| 185 // pending entry. | 185 // pending entry. |
| 186 TEST_F(NavigationManagerTest, CanGoForwardWithPendingItem) { | 186 TEST_F(NavigationManagerTest, CanGoForwardWithPendingItem) { |
| 187 [session_controller() addPendingEntry:GURL("http://www.url.com") | 187 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 188 referrer:Referrer() | 188 referrer:Referrer() |
| 189 transition:ui::PAGE_TRANSITION_TYPED | 189 transition:ui::PAGE_TRANSITION_TYPED |
| 190 rendererInitiated:NO]; | 190 rendererInitiated:NO]; |
| 191 [session_controller() commitPendingEntry]; | 191 [session_controller() commitPendingItem]; |
| 192 [session_controller() addPendingEntry:GURL("http://www.url.com/0") | 192 [session_controller() addPendingItem:GURL("http://www.url.com/0") |
| 193 referrer:Referrer() | 193 referrer:Referrer() |
| 194 transition:ui::PAGE_TRANSITION_TYPED | 194 transition:ui::PAGE_TRANSITION_TYPED |
| 195 rendererInitiated:NO]; | 195 rendererInitiated:NO]; |
| 196 [session_controller() commitPendingEntry]; | 196 [session_controller() commitPendingItem]; |
| 197 [session_controller() goToEntryAtIndex:0]; | 197 [session_controller() goToItemAtIndex:0]; |
| 198 [session_controller() addPendingEntry:GURL("http://www.url.com/1") | 198 [session_controller() addPendingItem:GURL("http://www.url.com/1") |
| 199 referrer:Referrer() | 199 referrer:Referrer() |
| 200 transition:ui::PAGE_TRANSITION_TYPED | 200 transition:ui::PAGE_TRANSITION_TYPED |
| 201 rendererInitiated:NO]; | 201 rendererInitiated:NO]; |
| 202 | 202 |
| 203 // Pending entry should not allow going forward. | 203 // Pending entry should not allow going forward. |
| 204 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 204 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 205 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 205 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 206 } | 206 } |
| 207 | 207 |
| 208 // Tests that going forward or positive offset is not possible without a | 208 // Tests that going forward or positive offset is not possible without a |
| 209 // committed item. | 209 // committed item. |
| 210 TEST_F(NavigationManagerTest, CanGoForwardWithoutCommitedItem) { | 210 TEST_F(NavigationManagerTest, CanGoForwardWithoutCommitedItem) { |
| 211 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 211 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 212 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 212 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 213 } | 213 } |
| 214 | 214 |
| 215 // Tests that going forward or positive offset is not possible if there is ony | 215 // Tests that going forward or positive offset is not possible if there is ony |
| 216 // one committed item and no transient item. | 216 // one committed item and no transient item. |
| 217 TEST_F(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) { | 217 TEST_F(NavigationManagerTest, CanGoForwardWithSingleCommitedItem) { |
| 218 [session_controller() addPendingEntry:GURL("http://www.url.com") | 218 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 219 referrer:Referrer() | 219 referrer:Referrer() |
| 220 transition:ui::PAGE_TRANSITION_TYPED | 220 transition:ui::PAGE_TRANSITION_TYPED |
| 221 rendererInitiated:NO]; | 221 rendererInitiated:NO]; |
| 222 [session_controller() commitPendingEntry]; | 222 [session_controller() commitPendingItem]; |
| 223 | 223 |
| 224 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 224 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 225 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 225 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 226 } | 226 } |
| 227 | 227 |
| 228 // Tests going forward possibility with multiple committed items. | 228 // Tests going forward possibility with multiple committed items. |
| 229 TEST_F(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) { | 229 TEST_F(NavigationManagerTest, CanGoForwardWithMultipleCommitedEntries) { |
| 230 [session_controller() addPendingEntry:GURL("http://www.url.com") | 230 [session_controller() addPendingItem:GURL("http://www.url.com") |
| 231 referrer:Referrer() | 231 referrer:Referrer() |
| 232 transition:ui::PAGE_TRANSITION_TYPED | 232 transition:ui::PAGE_TRANSITION_TYPED |
| 233 rendererInitiated:NO]; | 233 rendererInitiated:NO]; |
| 234 [session_controller() commitPendingEntry]; | 234 [session_controller() commitPendingItem]; |
| 235 [session_controller() addPendingEntry:GURL("http://www.url.com/0") | 235 [session_controller() addPendingItem:GURL("http://www.url.com/0") |
| 236 referrer:Referrer() | 236 referrer:Referrer() |
| 237 transition:ui::PAGE_TRANSITION_TYPED | 237 transition:ui::PAGE_TRANSITION_TYPED |
| 238 rendererInitiated:NO]; | 238 rendererInitiated:NO]; |
| 239 [session_controller() commitPendingEntry]; | 239 [session_controller() commitPendingItem]; |
| 240 [session_controller() addPendingEntry:GURL("http://www.url.com/1") | 240 [session_controller() addPendingItem:GURL("http://www.url.com/1") |
| 241 referrer:Referrer() | 241 referrer:Referrer() |
| 242 transition:ui::PAGE_TRANSITION_TYPED | 242 transition:ui::PAGE_TRANSITION_TYPED |
| 243 rendererInitiated:NO]; | 243 rendererInitiated:NO]; |
| 244 [session_controller() commitPendingEntry]; | 244 [session_controller() commitPendingItem]; |
| 245 | 245 |
| 246 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 246 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 247 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 247 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 248 | 248 |
| 249 [session_controller() goToEntryAtIndex:1]; | 249 [session_controller() goToItemAtIndex:1]; |
| 250 EXPECT_TRUE(navigation_manager()->CanGoForward()); | 250 EXPECT_TRUE(navigation_manager()->CanGoForward()); |
| 251 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 251 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 252 | 252 |
| 253 [session_controller() goToEntryAtIndex:0]; | 253 [session_controller() goToItemAtIndex:0]; |
| 254 EXPECT_TRUE(navigation_manager()->CanGoForward()); | 254 EXPECT_TRUE(navigation_manager()->CanGoForward()); |
| 255 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 255 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 256 | 256 |
| 257 [session_controller() goToEntryAtIndex:1]; | 257 [session_controller() goToItemAtIndex:1]; |
| 258 EXPECT_TRUE(navigation_manager()->CanGoForward()); | 258 EXPECT_TRUE(navigation_manager()->CanGoForward()); |
| 259 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 259 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 260 | 260 |
| 261 [session_controller() goToEntryAtIndex:2]; | 261 [session_controller() goToItemAtIndex:2]; |
| 262 EXPECT_FALSE(navigation_manager()->CanGoForward()); | 262 EXPECT_FALSE(navigation_manager()->CanGoForward()); |
| 263 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 263 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 264 } | 264 } |
| 265 | 265 |
| 266 // Tests CanGoToOffset API for positive, negative and zero delta. Tested | 266 // Tests CanGoToOffset API for positive, negative and zero delta. Tested |
| 267 // navigation manager will have redirect entries to make sure they are | 267 // navigation manager will have redirect entries to make sure they are |
| 268 // appropriately skipped. | 268 // appropriately skipped. |
| 269 TEST_F(NavigationManagerTest, OffsetsWithoutPendingIndex) { | 269 TEST_F(NavigationManagerTest, OffsetsWithoutPendingIndex) { |
| 270 [session_controller() addPendingEntry:GURL("http://www.url.com/0") | 270 [session_controller() addPendingItem:GURL("http://www.url.com/0") |
| 271 referrer:Referrer() | 271 referrer:Referrer() |
| 272 transition:ui::PAGE_TRANSITION_LINK | 272 transition:ui::PAGE_TRANSITION_LINK |
| 273 rendererInitiated:NO]; | 273 rendererInitiated:NO]; |
| 274 [session_controller() commitPendingEntry]; | 274 [session_controller() commitPendingItem]; |
| 275 [session_controller() addPendingEntry:GURL("http://www.url.com/redirect") | 275 [session_controller() addPendingItem:GURL("http://www.url.com/redirect") |
| 276 referrer:Referrer() | 276 referrer:Referrer() |
| 277 transition:ui::PAGE_TRANSITION_IS_REDIRECT_MASK | 277 transition:ui::PAGE_TRANSITION_IS_REDIRECT_MASK |
| 278 rendererInitiated:NO]; | 278 rendererInitiated:NO]; |
| 279 [session_controller() commitPendingEntry]; | 279 [session_controller() commitPendingItem]; |
| 280 [session_controller() addPendingEntry:GURL("http://www.url.com/1") | 280 [session_controller() addPendingItem:GURL("http://www.url.com/1") |
| 281 referrer:Referrer() | 281 referrer:Referrer() |
| 282 transition:ui::PAGE_TRANSITION_LINK | 282 transition:ui::PAGE_TRANSITION_LINK |
| 283 rendererInitiated:NO]; | 283 rendererInitiated:NO]; |
| 284 [session_controller() commitPendingEntry]; | 284 [session_controller() commitPendingItem]; |
| 285 [session_controller() addPendingEntry:GURL("http://www.url.com/2") | 285 [session_controller() addPendingItem:GURL("http://www.url.com/2") |
| 286 referrer:Referrer() | 286 referrer:Referrer() |
| 287 transition:ui::PAGE_TRANSITION_LINK | 287 transition:ui::PAGE_TRANSITION_LINK |
| 288 rendererInitiated:NO]; | 288 rendererInitiated:NO]; |
| 289 [session_controller() commitPendingEntry]; | 289 [session_controller() commitPendingItem]; |
| 290 [session_controller() addPendingEntry:GURL("http://www.url.com/redirect") | 290 [session_controller() addPendingItem:GURL("http://www.url.com/redirect") |
| 291 referrer:Referrer() | 291 referrer:Referrer() |
| 292 transition:ui::PAGE_TRANSITION_IS_REDIRECT_MASK | 292 transition:ui::PAGE_TRANSITION_IS_REDIRECT_MASK |
| 293 rendererInitiated:NO]; | 293 rendererInitiated:NO]; |
| 294 [session_controller() commitPendingEntry]; | 294 [session_controller() commitPendingItem]; |
| 295 ASSERT_EQ(5, navigation_manager()->GetItemCount()); | 295 ASSERT_EQ(5, navigation_manager()->GetItemCount()); |
| 296 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 296 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 297 | 297 |
| 298 // Go to entry at index 1 and test API from that state. | 298 // Go to entry at index 1 and test API from that state. |
| 299 [session_controller() goToEntryAtIndex:1]; | 299 [session_controller() goToItemAtIndex:1]; |
| 300 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); | 300 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); |
| 301 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 301 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 302 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 302 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 303 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); | 303 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); |
| 304 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 304 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 305 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); | 305 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); |
| 306 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 306 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 307 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 307 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 308 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); | 308 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); |
| 309 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); | 309 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); |
| 310 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); | 310 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); |
| 311 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); | 311 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); |
| 312 // Test with large values. | 312 // Test with large values. |
| 313 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); | 313 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 314 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); | 314 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 315 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); | 315 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 316 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 316 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 317 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 317 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 318 EXPECT_EQ(INT_MIN, navigation_manager()->GetIndexForOffset(INT_MIN)); | 318 EXPECT_EQ(INT_MIN, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 319 EXPECT_EQ(-1000000000, navigation_manager()->GetIndexForOffset(-1000000000)); | 319 EXPECT_EQ(-1000000000, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 320 EXPECT_EQ(1000000002, navigation_manager()->GetIndexForOffset(1000000000)); | 320 EXPECT_EQ(1000000002, navigation_manager()->GetIndexForOffset(1000000000)); |
| 321 | 321 |
| 322 // Go to entry at index 2 and test API from that state. | 322 // Go to entry at index 2 and test API from that state. |
| 323 [session_controller() goToEntryAtIndex:2]; | 323 [session_controller() goToItemAtIndex:2]; |
| 324 ASSERT_EQ(2, navigation_manager()->GetCurrentItemIndex()); | 324 ASSERT_EQ(2, navigation_manager()->GetCurrentItemIndex()); |
| 325 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 325 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 326 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 326 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 327 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); | 327 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); |
| 328 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 328 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 329 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); | 329 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); |
| 330 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 330 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 331 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); | 331 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); |
| 332 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 332 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 333 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); | 333 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); |
| 334 // Test with large values. | 334 // Test with large values. |
| 335 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); | 335 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 336 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); | 336 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 337 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); | 337 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 338 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 338 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 339 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 339 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 340 EXPECT_EQ(-2147483647, navigation_manager()->GetIndexForOffset(INT_MIN)); | 340 EXPECT_EQ(-2147483647, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 341 EXPECT_EQ(-999999999, navigation_manager()->GetIndexForOffset(-1000000000)); | 341 EXPECT_EQ(-999999999, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 342 EXPECT_EQ(1000000003, navigation_manager()->GetIndexForOffset(1000000000)); | 342 EXPECT_EQ(1000000003, navigation_manager()->GetIndexForOffset(1000000000)); |
| 343 | 343 |
| 344 // Go to entry at index 4 and test API from that state. | 344 // Go to entry at index 4 and test API from that state. |
| 345 [session_controller() goToEntryAtIndex:4]; | 345 [session_controller() goToItemAtIndex:4]; |
| 346 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 346 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 347 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 347 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 348 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 348 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 349 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); | 349 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); |
| 350 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 350 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 351 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); | 351 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); |
| 352 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 352 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 353 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); | 353 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); |
| 354 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 354 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 355 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); | 355 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); |
| 356 // Test with large values. | 356 // Test with large values. |
| 357 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); | 357 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 358 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); | 358 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 359 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); | 359 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 360 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 360 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 361 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 361 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 362 EXPECT_EQ(-2147483646, navigation_manager()->GetIndexForOffset(INT_MIN)); | 362 EXPECT_EQ(-2147483646, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 363 EXPECT_EQ(-999999998, navigation_manager()->GetIndexForOffset(-1000000000)); | 363 EXPECT_EQ(-999999998, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 364 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); | 364 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 365 | 365 |
| 366 // Test with existing transient entry. | 366 // Test with existing transient entry. |
| 367 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com")]; | 367 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; |
| 368 ASSERT_EQ(5, navigation_manager()->GetItemCount()); | 368 ASSERT_EQ(5, navigation_manager()->GetItemCount()); |
| 369 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 369 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 370 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 370 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 371 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 371 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 372 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); | 372 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); |
| 373 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 373 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 374 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); | 374 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); |
| 375 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); | 375 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); |
| 376 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); | 376 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); |
| 377 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 377 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 378 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); | 378 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); |
| 379 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 379 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 380 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); | 380 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); |
| 381 // Test with large values. | 381 // Test with large values. |
| 382 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); | 382 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 383 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); | 383 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 384 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); | 384 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 385 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 385 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 386 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 386 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 387 EXPECT_EQ(-2147483645, navigation_manager()->GetIndexForOffset(INT_MIN)); | 387 EXPECT_EQ(-2147483645, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 388 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); | 388 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 389 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); | 389 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 390 | 390 |
| 391 // Now test with pending item index. | 391 // Now test with pending item index. |
| 392 [session_controller() discardNonCommittedEntries]; | 392 [session_controller() discardNonCommittedItems]; |
| 393 | 393 |
| 394 // Set pending index to 1 and test API from that state. | 394 // Set pending index to 1 and test API from that state. |
| 395 [session_controller() setPendingEntryIndex:1]; | 395 [session_controller() setPendingItemIndex:1]; |
| 396 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 396 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 397 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 397 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
| 398 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 398 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 399 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); | 399 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); |
| 400 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 400 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 401 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); | 401 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); |
| 402 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 402 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 403 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 403 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 404 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); | 404 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); |
| 405 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); | 405 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); |
| 406 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); | 406 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); |
| 407 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); | 407 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); |
| 408 // Test with large values. | 408 // Test with large values. |
| 409 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); | 409 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 410 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); | 410 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 411 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); | 411 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 412 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 412 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 413 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 413 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 414 EXPECT_EQ(INT_MIN, navigation_manager()->GetIndexForOffset(INT_MIN)); | 414 EXPECT_EQ(INT_MIN, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 415 EXPECT_EQ(-1000000000, navigation_manager()->GetIndexForOffset(-1000000000)); | 415 EXPECT_EQ(-1000000000, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 416 EXPECT_EQ(1000000002, navigation_manager()->GetIndexForOffset(1000000000)); | 416 EXPECT_EQ(1000000002, navigation_manager()->GetIndexForOffset(1000000000)); |
| 417 | 417 |
| 418 // Set pending index to 2 and test API from that state. | 418 // Set pending index to 2 and test API from that state. |
| 419 [session_controller() setPendingEntryIndex:2]; | 419 [session_controller() setPendingItemIndex:2]; |
| 420 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 420 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 421 ASSERT_EQ(2, navigation_manager()->GetPendingItemIndex()); | 421 ASSERT_EQ(2, navigation_manager()->GetPendingItemIndex()); |
| 422 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 422 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 423 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); | 423 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); |
| 424 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 424 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 425 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); | 425 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); |
| 426 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 426 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 427 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); | 427 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); |
| 428 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 428 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 429 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); | 429 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); |
| 430 // Test with large values. | 430 // Test with large values. |
| 431 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); | 431 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 432 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); | 432 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 433 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); | 433 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 434 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 434 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 435 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 435 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 436 EXPECT_EQ(-2147483647, navigation_manager()->GetIndexForOffset(INT_MIN)); | 436 EXPECT_EQ(-2147483647, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 437 EXPECT_EQ(-999999999, navigation_manager()->GetIndexForOffset(-1000000000)); | 437 EXPECT_EQ(-999999999, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 438 EXPECT_EQ(1000000003, navigation_manager()->GetIndexForOffset(1000000000)); | 438 EXPECT_EQ(1000000003, navigation_manager()->GetIndexForOffset(1000000000)); |
| 439 | 439 |
| 440 // Set pending index to 4 and committed entry to 1 and test. | 440 // Set pending index to 4 and committed entry to 1 and test. |
| 441 [session_controller() goToEntryAtIndex:1]; | 441 [session_controller() goToItemAtIndex:1]; |
| 442 [session_controller() setPendingEntryIndex:4]; | 442 [session_controller() setPendingItemIndex:4]; |
| 443 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); | 443 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); |
| 444 ASSERT_EQ(4, navigation_manager()->GetPendingItemIndex()); | 444 ASSERT_EQ(4, navigation_manager()->GetPendingItemIndex()); |
| 445 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 445 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 446 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); | 446 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); |
| 447 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 447 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 448 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); | 448 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); |
| 449 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 449 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 450 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); | 450 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); |
| 451 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 451 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 452 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); | 452 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); |
| 453 // Test with large values. | 453 // Test with large values. |
| 454 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); | 454 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 455 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); | 455 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 456 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); | 456 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 457 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); | 457 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 458 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); | 458 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 459 EXPECT_EQ(-2147483646, navigation_manager()->GetIndexForOffset(INT_MIN)); | 459 EXPECT_EQ(-2147483646, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 460 EXPECT_EQ(-999999998, navigation_manager()->GetIndexForOffset(-1000000000)); | 460 EXPECT_EQ(-999999998, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 461 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); | 461 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 462 | 462 |
| 463 // Test with existing transient entry in the end of the stack. | 463 // Test with existing transient entry in the end of the stack. |
| 464 [session_controller() goToEntryAtIndex:4]; | 464 [session_controller() goToItemAtIndex:4]; |
| 465 [session_controller() setPendingEntryIndex:-1]; | 465 [session_controller() setPendingItemIndex:-1]; |
| 466 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com")]; | 466 [session_controller() addTransientItemWithURL:GURL("http://www.url.com")]; |
| 467 ASSERT_EQ(5, navigation_manager()->GetItemCount()); | 467 ASSERT_EQ(5, navigation_manager()->GetItemCount()); |
| 468 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 468 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 469 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 469 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 470 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 470 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 471 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); | 471 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); |
| 472 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 472 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 473 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); | 473 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); |
| 474 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); | 474 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); |
| 475 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); | 475 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); |
| 476 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 476 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 487 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); | 487 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 488 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); | 488 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 489 } | 489 } |
| 490 | 490 |
| 491 // Tests offsets with pending transient entries (specifically gong back and | 491 // Tests offsets with pending transient entries (specifically gong back and |
| 492 // forward from a pending navigation entry that is added to the middle of the | 492 // forward from a pending navigation entry that is added to the middle of the |
| 493 // navigation stack). | 493 // navigation stack). |
| 494 TEST_F(NavigationManagerTest, OffsetsWithPendingTransientEntry) { | 494 TEST_F(NavigationManagerTest, OffsetsWithPendingTransientEntry) { |
| 495 // Create a transient item in the middle of the navigation stack and go back | 495 // Create a transient item in the middle of the navigation stack and go back |
| 496 // to it (pending index is 1, current index is 2). | 496 // to it (pending index is 1, current index is 2). |
| 497 [session_controller() addPendingEntry:GURL("http://www.url.com/0") | 497 [session_controller() addPendingItem:GURL("http://www.url.com/0") |
| 498 referrer:Referrer() | 498 referrer:Referrer() |
| 499 transition:ui::PAGE_TRANSITION_LINK | 499 transition:ui::PAGE_TRANSITION_LINK |
| 500 rendererInitiated:NO]; | 500 rendererInitiated:NO]; |
| 501 [session_controller() commitPendingEntry]; | 501 [session_controller() commitPendingItem]; |
| 502 [session_controller() addPendingEntry:GURL("http://www.url.com/1") | 502 [session_controller() addPendingItem:GURL("http://www.url.com/1") |
| 503 referrer:Referrer() | 503 referrer:Referrer() |
| 504 transition:ui::PAGE_TRANSITION_LINK | 504 transition:ui::PAGE_TRANSITION_LINK |
| 505 rendererInitiated:NO]; | 505 rendererInitiated:NO]; |
| 506 [session_controller() commitPendingEntry]; | 506 [session_controller() commitPendingItem]; |
| 507 [session_controller() addPendingEntry:GURL("http://www.url.com/2") | 507 [session_controller() addPendingItem:GURL("http://www.url.com/2") |
| 508 referrer:Referrer() | 508 referrer:Referrer() |
| 509 transition:ui::PAGE_TRANSITION_LINK | 509 transition:ui::PAGE_TRANSITION_LINK |
| 510 rendererInitiated:NO]; | 510 rendererInitiated:NO]; |
| 511 [session_controller() commitPendingEntry]; | 511 [session_controller() commitPendingItem]; |
| 512 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com/1")]; | 512 [session_controller() addTransientItemWithURL:GURL("http://www.url.com/1")]; |
| 513 [session_controller() setPendingEntryIndex:1]; | 513 [session_controller() setPendingItemIndex:1]; |
| 514 | 514 |
| 515 ASSERT_EQ(3, navigation_manager()->GetItemCount()); | 515 ASSERT_EQ(3, navigation_manager()->GetItemCount()); |
| 516 ASSERT_EQ(2, navigation_manager()->GetCurrentItemIndex()); | 516 ASSERT_EQ(2, navigation_manager()->GetCurrentItemIndex()); |
| 517 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 517 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
| 518 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 518 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 519 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); | 519 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); |
| 520 | 520 |
| 521 // Now go forward to that middle transient item (pending index is 1, | 521 // Now go forward to that middle transient item (pending index is 1, |
| 522 // current index is 0). | 522 // current index is 0). |
| 523 [session_controller() goToEntryAtIndex:0]; | 523 [session_controller() goToItemAtIndex:0]; |
| 524 [session_controller() setPendingEntryIndex:1]; | 524 [session_controller() setPendingItemIndex:1]; |
| 525 ASSERT_EQ(3, navigation_manager()->GetItemCount()); | 525 ASSERT_EQ(3, navigation_manager()->GetItemCount()); |
| 526 ASSERT_EQ(0, navigation_manager()->GetCurrentItemIndex()); | 526 ASSERT_EQ(0, navigation_manager()->GetCurrentItemIndex()); |
| 527 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 527 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
| 528 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 528 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 529 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); | 529 EXPECT_EQ(0, navigation_manager()->GetIndexForOffset(-1)); |
| 530 } | 530 } |
| 531 | 531 |
| 532 } // namespace web | 532 } // namespace web |
| OLD | NEW |