Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(584)

Side by Side Diff: ios/web/navigation/navigation_manager_impl_unittest.mm

Issue 2672723003: Converted CRWSessionController to use NavigationItems. (Closed)
Patch Set: test fixes, self review Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « ios/web/navigation/navigation_manager_impl.mm ('k') | ios/web/navigation/navigation_manager_storage_builder.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698