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

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

Issue 2737203002: Remove CRWSessionEntry. (Closed)
Patch Set: self review Created 3 years, 9 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/web/navigation/crw_session_controller.h" 5 #import "ios/web/navigation/crw_session_controller.h"
6 6
7 #import <Foundation/Foundation.h> 7 #import <Foundation/Foundation.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 12 matching lines...) Expand all
23 #import "testing/gtest_mac.h" 23 #import "testing/gtest_mac.h"
24 #include "testing/platform_test.h" 24 #include "testing/platform_test.h"
25 25
26 @interface CRWSessionController (Testing) 26 @interface CRWSessionController (Testing)
27 - (const GURL&)URLForItemAtIndex:(size_t)index; 27 - (const GURL&)URLForItemAtIndex:(size_t)index;
28 - (const GURL&)currentURL; 28 - (const GURL&)currentURL;
29 @end 29 @end
30 30
31 @implementation CRWSessionController (Testing) 31 @implementation CRWSessionController (Testing)
32 - (const GURL&)URLForItemAtIndex:(size_t)index { 32 - (const GURL&)URLForItemAtIndex:(size_t)index {
33 web::NavigationItemList items = self.items; 33 if (index < self.items.size())
34 if (index < items.size()) 34 return self.items[index]->GetURL();
35 return items[index]->GetURL();
36 return GURL::EmptyGURL(); 35 return GURL::EmptyGURL();
37 } 36 }
38 37
39 - (const GURL&)currentURL { 38 - (const GURL&)currentURL {
40 return self.currentItem ? self.currentItem->GetURL() : GURL::EmptyGURL(); 39 return self.currentItem ? self.currentItem->GetURL() : GURL::EmptyGURL();
41 } 40 }
42 @end 41 @end
43 42
44 namespace { 43 namespace {
45 44
(...skipping 25 matching lines...) Expand all
71 [session_controller_ 70 [session_controller_
72 addPendingItem:GURL("http://www.example.com") 71 addPendingItem:GURL("http://www.example.com")
73 referrer:web::Referrer() 72 referrer:web::Referrer()
74 transition:ui::PAGE_TRANSITION_TYPED 73 transition:ui::PAGE_TRANSITION_TYPED
75 initiationType:web::NavigationInitiationType::USER_INITIATED]; 74 initiationType:web::NavigationInitiationType::USER_INITIATED];
76 [session_controller_ commitPendingItem]; 75 [session_controller_ commitPendingItem];
77 76
78 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); 77 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
79 [session_controller_ setPendingItemIndex:0]; 78 [session_controller_ setPendingItemIndex:0];
80 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); 79 EXPECT_EQ(0, [session_controller_ pendingItemIndex]);
81 EXPECT_EQ([session_controller_ items].back(), 80 EXPECT_EQ([session_controller_ items].back().get(),
82 [session_controller_ pendingItem]); 81 [session_controller_ pendingItem]);
83 } 82 }
84 83
85 TEST_F(CRWSessionControllerTest, addPendingItem) { 84 TEST_F(CRWSessionControllerTest, addPendingItem) {
86 [session_controller_ 85 [session_controller_
87 addPendingItem:GURL("http://www.url.com") 86 addPendingItem:GURL("http://www.url.com")
88 referrer:MakeReferrer("http://www.referer.com") 87 referrer:MakeReferrer("http://www.referer.com")
89 transition:ui::PAGE_TRANSITION_TYPED 88 transition:ui::PAGE_TRANSITION_TYPED
90 initiationType:web::NavigationInitiationType::USER_INITIATED]; 89 initiationType:web::NavigationInitiationType::USER_INITIATED];
91 90
(...skipping 19 matching lines...) Expand all
111 110
112 EXPECT_EQ(1U, [session_controller_ items].size()); 111 EXPECT_EQ(1U, [session_controller_ items].size());
113 EXPECT_EQ(GURL("http://www.committed.url.com/"), 112 EXPECT_EQ(GURL("http://www.committed.url.com/"),
114 [session_controller_ URLForItemAtIndex:0U]); 113 [session_controller_ URLForItemAtIndex:0U]);
115 EXPECT_EQ( 114 EXPECT_EQ(
116 GURL("http://www.url.com/"), 115 GURL("http://www.url.com/"),
117 [session_controller_ currentURL]); 116 [session_controller_ currentURL]);
118 } 117 }
119 118
120 // Tests that adding a pending item resets pending item index. 119 // Tests that adding a pending item resets pending item index.
121 TEST_F(CRWSessionControllerTest, addPendingItemWithExistingPendingItemIndex) { 120 TEST_F(CRWSessionControllerTest, addPendingItemWithExisingPendingItemIndex) {
Eugene But (OOO till 7-30) 2017/03/09 16:10:58 Revert back? Exising vs Existing?
kkhorimoto 2017/03/09 21:33:54 Done.
122 [session_controller_ 121 [session_controller_
123 addPendingItem:GURL("http://www.example.com") 122 addPendingItem:GURL("http://www.example.com")
124 referrer:web::Referrer() 123 referrer:web::Referrer()
125 transition:ui::PAGE_TRANSITION_TYPED 124 transition:ui::PAGE_TRANSITION_TYPED
126 initiationType:web::NavigationInitiationType::USER_INITIATED]; 125 initiationType:web::NavigationInitiationType::USER_INITIATED];
127 [session_controller_ commitPendingItem]; 126 [session_controller_ commitPendingItem];
128 [session_controller_ 127 [session_controller_
129 addPendingItem:GURL("http://www.example.com/0") 128 addPendingItem:GURL("http://www.example.com/0")
130 referrer:web::Referrer() 129 referrer:web::Referrer()
131 transition:ui::PAGE_TRANSITION_TYPED 130 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 [session_controller_ 170 [session_controller_
172 addPendingItem:GURL("http://www.url.com") 171 addPendingItem:GURL("http://www.url.com")
173 referrer:MakeReferrer("http://www.referer.com") 172 referrer:MakeReferrer("http://www.referer.com")
174 transition:ui::PAGE_TRANSITION_TYPED 173 transition:ui::PAGE_TRANSITION_TYPED
175 initiationType:web::NavigationInitiationType::USER_INITIATED]; 174 initiationType:web::NavigationInitiationType::USER_INITIATED];
176 [session_controller_ commitPendingItem]; 175 [session_controller_ commitPendingItem];
177 176
178 EXPECT_EQ(1U, [session_controller_ items].size()); 177 EXPECT_EQ(1U, [session_controller_ items].size());
179 EXPECT_EQ(GURL("http://www.url.com/"), 178 EXPECT_EQ(GURL("http://www.url.com/"),
180 [session_controller_ URLForItemAtIndex:0U]); 179 [session_controller_ URLForItemAtIndex:0U]);
181 EXPECT_EQ([session_controller_ items].front(), 180 EXPECT_EQ([session_controller_ items].front().get(),
182 [session_controller_ currentItem]); 181 [session_controller_ currentItem]);
183 } 182 }
184 183
185 TEST_F(CRWSessionControllerTest, addPendingItemOverridingAndCommit) { 184 TEST_F(CRWSessionControllerTest, addPendingItemOverridingAndCommit) {
186 [session_controller_ 185 [session_controller_
187 addPendingItem:GURL("http://www.url.com") 186 addPendingItem:GURL("http://www.url.com")
188 referrer:MakeReferrer("http://www.referer.com") 187 referrer:MakeReferrer("http://www.referer.com")
189 transition:ui::PAGE_TRANSITION_TYPED 188 transition:ui::PAGE_TRANSITION_TYPED
190 initiationType:web::NavigationInitiationType::USER_INITIATED]; 189 initiationType:web::NavigationInitiationType::USER_INITIATED];
191 [session_controller_ 190 [session_controller_
192 addPendingItem:GURL("http://www.another.url.com") 191 addPendingItem:GURL("http://www.another.url.com")
193 referrer:MakeReferrer("http://www.another.referer.com") 192 referrer:MakeReferrer("http://www.another.referer.com")
194 transition:ui::PAGE_TRANSITION_TYPED 193 transition:ui::PAGE_TRANSITION_TYPED
195 initiationType:web::NavigationInitiationType::USER_INITIATED]; 194 initiationType:web::NavigationInitiationType::USER_INITIATED];
196 [session_controller_ commitPendingItem]; 195 [session_controller_ commitPendingItem];
197 196
198 EXPECT_EQ(1U, [session_controller_ items].size()); 197 EXPECT_EQ(1U, [session_controller_ items].size());
199 EXPECT_EQ(GURL("http://www.another.url.com/"), 198 EXPECT_EQ(GURL("http://www.another.url.com/"),
200 [session_controller_ URLForItemAtIndex:0U]); 199 [session_controller_ URLForItemAtIndex:0U]);
201 EXPECT_EQ([session_controller_ items].front(), 200 EXPECT_EQ([session_controller_ items].front().get(),
202 [session_controller_ currentItem]); 201 [session_controller_ currentItem]);
203 } 202 }
204 203
205 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitMultiple) { 204 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitMultiple) {
206 [session_controller_ 205 [session_controller_
207 addPendingItem:GURL("http://www.url.com") 206 addPendingItem:GURL("http://www.url.com")
208 referrer:MakeReferrer("http://www.referer.com") 207 referrer:MakeReferrer("http://www.referer.com")
209 transition:ui::PAGE_TRANSITION_TYPED 208 transition:ui::PAGE_TRANSITION_TYPED
210 initiationType:web::NavigationInitiationType::USER_INITIATED]; 209 initiationType:web::NavigationInitiationType::USER_INITIATED];
211 [session_controller_ commitPendingItem]; 210 [session_controller_ commitPendingItem];
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 [session_controller_ 265 [session_controller_
267 addPendingItem:GURL("http://www.another.url.com") 266 addPendingItem:GURL("http://www.another.url.com")
268 referrer:MakeReferrer("http://www.referer.com") 267 referrer:MakeReferrer("http://www.referer.com")
269 transition:ui::PAGE_TRANSITION_TYPED 268 transition:ui::PAGE_TRANSITION_TYPED
270 initiationType:web::NavigationInitiationType::USER_INITIATED]; 269 initiationType:web::NavigationInitiationType::USER_INITIATED];
271 [session_controller_ commitPendingItem]; 270 [session_controller_ commitPendingItem];
272 271
273 EXPECT_EQ(1U, [session_controller_ items].size()); 272 EXPECT_EQ(1U, [session_controller_ items].size());
274 EXPECT_EQ(GURL("http://www.another.url.com/"), 273 EXPECT_EQ(GURL("http://www.another.url.com/"),
275 [session_controller_ URLForItemAtIndex:0U]); 274 [session_controller_ URLForItemAtIndex:0U]);
276 EXPECT_EQ([session_controller_ items].front(), 275 EXPECT_EQ([session_controller_ items].front().get(),
277 [session_controller_ currentItem]); 276 [session_controller_ currentItem]);
278 } 277 }
279 278
280 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitAndAddAndDiscard) { 279 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitAndAddAndDiscard) {
281 [session_controller_ 280 [session_controller_
282 addPendingItem:GURL("http://www.url.com") 281 addPendingItem:GURL("http://www.url.com")
283 referrer:MakeReferrer("http://www.referer.com") 282 referrer:MakeReferrer("http://www.referer.com")
284 transition:ui::PAGE_TRANSITION_TYPED 283 transition:ui::PAGE_TRANSITION_TYPED
285 initiationType:web::NavigationInitiationType::USER_INITIATED]; 284 initiationType:web::NavigationInitiationType::USER_INITIATED];
286 [session_controller_ commitPendingItem]; 285 [session_controller_ commitPendingItem];
287 286
288 [session_controller_ 287 [session_controller_
289 addPendingItem:GURL("http://www.another.url.com") 288 addPendingItem:GURL("http://www.another.url.com")
290 referrer:MakeReferrer("http://www.referer.com") 289 referrer:MakeReferrer("http://www.referer.com")
291 transition:ui::PAGE_TRANSITION_TYPED 290 transition:ui::PAGE_TRANSITION_TYPED
292 initiationType:web::NavigationInitiationType::USER_INITIATED]; 291 initiationType:web::NavigationInitiationType::USER_INITIATED];
293 [session_controller_ discardNonCommittedItems]; 292 [session_controller_ discardNonCommittedItems];
294 293
295 EXPECT_EQ(1U, [session_controller_ items].size()); 294 EXPECT_EQ(1U, [session_controller_ items].size());
296 EXPECT_EQ(GURL("http://www.url.com/"), 295 EXPECT_EQ(GURL("http://www.url.com/"),
297 [session_controller_ URLForItemAtIndex:0U]); 296 [session_controller_ URLForItemAtIndex:0U]);
298 EXPECT_EQ([session_controller_ items].front(), 297 EXPECT_EQ([session_controller_ items].front().get(),
299 [session_controller_ currentItem]); 298 [session_controller_ currentItem]);
300 } 299 }
301 300
302 TEST_F(CRWSessionControllerTest, 301 TEST_F(CRWSessionControllerTest,
303 commitPendingItemWithoutPendingOrCommittedItem) { 302 commitPendingItemWithoutPendingOrCommittedItem) {
304 [session_controller_ commitPendingItem]; 303 [session_controller_ commitPendingItem];
305 304
306 EXPECT_TRUE([session_controller_ items].empty()); 305 EXPECT_TRUE([session_controller_ items].empty());
307 EXPECT_FALSE([session_controller_ currentItem]); 306 EXPECT_FALSE([session_controller_ currentItem]);
308 } 307 }
309 308
310 TEST_F(CRWSessionControllerTest, 309 TEST_F(CRWSessionControllerTest,
311 commitPendingItemWithoutPendingItemWithCommittedItem) { 310 commitPendingItemWithoutPendingItemWithCommittedItem) {
312 // Setup committed item.
Eugene But (OOO till 7-30) 2017/03/09 16:10:58 Why? I think this test suppose to commit if there
kkhorimoto 2017/03/09 21:33:54 Yep you're right. I had fixed this, but must have
313 [session_controller_
314 addPendingItem:GURL("http://www.url.com")
315 referrer:MakeReferrer("http://www.referer.com")
316 transition:ui::PAGE_TRANSITION_TYPED
317 initiationType:web::NavigationInitiationType::USER_INITIATED];
318 [session_controller_ commitPendingItem]; 311 [session_controller_ commitPendingItem];
319 312
320 // Commit pending item when there is no such one 313 // Commit pending item when there is no such one
321 [session_controller_ commitPendingItem]; 314 [session_controller_ commitPendingItem];
322 315
323 EXPECT_EQ(1U, [session_controller_ items].size()); 316 EXPECT_EQ(1U, [session_controller_ items].size());
324 EXPECT_EQ([session_controller_ items].front(), 317 EXPECT_EQ([session_controller_ items].front().get(),
325 [session_controller_ currentItem]); 318 [session_controller_ currentItem]);
326 } 319 }
327 320
328 // Tests that forward entries are discarded after navigation item is committed. 321 // Tests that forward items are discarded after navigation item is committed.
329 TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) { 322 TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) {
330 // Make 3 entries. 323 // Make 3 items.
331 [session_controller_ 324 [session_controller_
332 addPendingItem:GURL("http://www.example.com/0") 325 addPendingItem:GURL("http://www.example.com/0")
333 referrer:MakeReferrer("http://www.example.com/a") 326 referrer:MakeReferrer("http://www.example.com/a")
334 transition:ui::PAGE_TRANSITION_LINK 327 transition:ui::PAGE_TRANSITION_LINK
335 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; 328 initiationType:web::NavigationInitiationType::RENDERER_INITIATED];
336 [session_controller_ commitPendingItem]; 329 [session_controller_ commitPendingItem];
337 [session_controller_ 330 [session_controller_
338 addPendingItem:GURL("http://www.example.com/1") 331 addPendingItem:GURL("http://www.example.com/1")
339 referrer:MakeReferrer("http://www.example.com/b") 332 referrer:MakeReferrer("http://www.example.com/b")
340 transition:ui::PAGE_TRANSITION_LINK 333 transition:ui::PAGE_TRANSITION_LINK
(...skipping 10 matching lines...) Expand all
351 [session_controller_ goToItemAtIndex:0]; 344 [session_controller_ goToItemAtIndex:0];
352 345
353 // Create and commit a new pending item. 346 // Create and commit a new pending item.
354 [session_controller_ 347 [session_controller_
355 addPendingItem:GURL("http://www.example.com/2") 348 addPendingItem:GURL("http://www.example.com/2")
356 referrer:MakeReferrer("http://www.example.com/c") 349 referrer:MakeReferrer("http://www.example.com/c")
357 transition:ui::PAGE_TRANSITION_LINK 350 transition:ui::PAGE_TRANSITION_LINK
358 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; 351 initiationType:web::NavigationInitiationType::RENDERER_INITIATED];
359 [session_controller_ commitPendingItem]; 352 [session_controller_ commitPendingItem];
360 353
361 // All forward entries should go away. 354 // All forward items should go away.
362 EXPECT_EQ(2U, [session_controller_ items].size()); 355 EXPECT_EQ(2U, [session_controller_ items].size());
363 EXPECT_EQ(0U, [session_controller_ forwardItems].size()); 356 EXPECT_EQ(0U, [session_controller_ forwardItems].size());
364 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]); 357 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]);
365 ASSERT_EQ(0, [session_controller_ previousNavigationIndex]); 358 ASSERT_EQ(0, [session_controller_ previousNavigationIndex]);
366 } 359 }
367 360
368 // Tests committing pending item index from the middle. 361 // Tests committing pending item index from the middle.
369 TEST_F(CRWSessionControllerTest, commitPendingItemIndex) { 362 TEST_F(CRWSessionControllerTest, commitPendingItemIndex) {
370 [session_controller_ 363 [session_controller_
371 addPendingItem:GURL("http://www.example.com/0") 364 addPendingItem:GURL("http://www.example.com/0")
(...skipping 12 matching lines...) Expand all
384 referrer:web::Referrer() 377 referrer:web::Referrer()
385 transition:ui::PAGE_TRANSITION_TYPED 378 transition:ui::PAGE_TRANSITION_TYPED
386 initiationType:web::NavigationInitiationType::USER_INITIATED]; 379 initiationType:web::NavigationInitiationType::USER_INITIATED];
387 [session_controller_ commitPendingItem]; 380 [session_controller_ commitPendingItem];
388 ASSERT_EQ(3U, [session_controller_ items].size()); 381 ASSERT_EQ(3U, [session_controller_ items].size());
389 382
390 // Go to the middle, and commit first pending item index. 383 // Go to the middle, and commit first pending item index.
391 [session_controller_ goToItemAtIndex:1]; 384 [session_controller_ goToItemAtIndex:1];
392 [session_controller_ setPendingItemIndex:0]; 385 [session_controller_ setPendingItemIndex:0];
393 ASSERT_EQ(0, [session_controller_ pendingItemIndex]); 386 ASSERT_EQ(0, [session_controller_ pendingItemIndex]);
394 web::NavigationItem* pendingItem = [session_controller_ pendingItem]; 387 web::NavigationItemImpl* pending_item = [session_controller_ pendingItem];
395 ASSERT_TRUE(pendingItem); 388 ASSERT_TRUE(pending_item);
396 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]); 389 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]);
397 EXPECT_EQ(2, [session_controller_ previousNavigationIndex]); 390 EXPECT_EQ(2, [session_controller_ previousNavigationIndex]);
398 [session_controller_ commitPendingItem]; 391 [session_controller_ commitPendingItem];
399 392
400 // Verify that pending item has been committed and current and previous item 393 // Verify that pending item has been committed and current and previous item
401 // indices updated. 394 // indices updated.
402 EXPECT_EQ([session_controller_ lastCommittedItem], pendingItem); 395 EXPECT_EQ(pending_item, [session_controller_ lastCommittedItem]);
403 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); 396 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
404 EXPECT_FALSE([session_controller_ pendingItem]); 397 EXPECT_FALSE([session_controller_ pendingItem]);
405 EXPECT_EQ(0, [session_controller_ currentNavigationIndex]); 398 EXPECT_EQ(0, [session_controller_ currentNavigationIndex]);
406 EXPECT_EQ(1, [session_controller_ previousNavigationIndex]); 399 EXPECT_EQ(1, [session_controller_ previousNavigationIndex]);
407 EXPECT_EQ(3U, [session_controller_ items].size()); 400 EXPECT_EQ(3U, [session_controller_ items].size());
408 } 401 }
409 402
410 TEST_F(CRWSessionControllerTest, 403 TEST_F(CRWSessionControllerTest,
411 DiscardPendingItemWithoutPendingOrCommittedItem) { 404 DiscardPendingItemWithoutPendingOrCommittedItem) {
412 [session_controller_ discardNonCommittedItems]; 405 [session_controller_ discardNonCommittedItems];
413 406
414 EXPECT_TRUE([session_controller_ items].empty()); 407 EXPECT_TRUE([session_controller_ items].empty());
415 EXPECT_FALSE([session_controller_ currentItem]); 408 EXPECT_FALSE([session_controller_ currentItem]);
416 } 409 }
417 410
418 TEST_F(CRWSessionControllerTest, 411 TEST_F(CRWSessionControllerTest,
419 DiscardPendingItemWithoutPendingItemWithCommittedItem) { 412 DiscardPendingItemWithoutPendingItemWithCommittedItem) {
420 // Setup committed item 413 // Setup committed item
421 [session_controller_ 414 [session_controller_
422 addPendingItem:GURL("http://www.url.com") 415 addPendingItem:GURL("http://www.url.com")
423 referrer:MakeReferrer("http://www.referer.com") 416 referrer:MakeReferrer("http://www.referer.com")
424 transition:ui::PAGE_TRANSITION_TYPED 417 transition:ui::PAGE_TRANSITION_TYPED
425 initiationType:web::NavigationInitiationType::USER_INITIATED]; 418 initiationType:web::NavigationInitiationType::USER_INITIATED];
426 [session_controller_ commitPendingItem]; 419 [session_controller_ commitPendingItem];
427 420
428 // Discard noncommitted entries when there is no such one 421 // Discard noncommitted items when there is no such one
429 [session_controller_ discardNonCommittedItems]; 422 [session_controller_ discardNonCommittedItems];
430 423
431 EXPECT_EQ(1U, [session_controller_ items].size()); 424 EXPECT_EQ(1U, [session_controller_ items].size());
432 EXPECT_EQ([session_controller_ items].front(), 425 EXPECT_EQ([session_controller_ items].front().get(),
433 [session_controller_ currentItem]); 426 [session_controller_ currentItem]);
434 } 427 }
435 428
436 TEST_F(CRWSessionControllerTest, updatePendingItemWithoutPendingItem) { 429 TEST_F(CRWSessionControllerTest, updatePendingItemWithoutPendingItem) {
437 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; 430 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")];
438 [session_controller_ commitPendingItem]; 431 [session_controller_ commitPendingItem];
439 432
440 EXPECT_TRUE([session_controller_ items].empty()); 433 EXPECT_TRUE([session_controller_ items].empty());
441 EXPECT_FALSE([session_controller_ currentItem]); 434 EXPECT_FALSE([session_controller_ currentItem]);
442 } 435 }
(...skipping 18 matching lines...) Expand all
461 referrer:MakeReferrer("http://www.referer.com") 454 referrer:MakeReferrer("http://www.referer.com")
462 transition:ui::PAGE_TRANSITION_TYPED 455 transition:ui::PAGE_TRANSITION_TYPED
463 initiationType:web::NavigationInitiationType::USER_INITIATED]; 456 initiationType:web::NavigationInitiationType::USER_INITIATED];
464 [session_controller_ commitPendingItem]; 457 [session_controller_ commitPendingItem];
465 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; 458 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")];
466 [session_controller_ commitPendingItem]; 459 [session_controller_ commitPendingItem];
467 460
468 EXPECT_EQ(1U, [session_controller_ items].size()); 461 EXPECT_EQ(1U, [session_controller_ items].size());
469 EXPECT_EQ(GURL("http://www.url.com/"), 462 EXPECT_EQ(GURL("http://www.url.com/"),
470 [session_controller_ URLForItemAtIndex:0U]); 463 [session_controller_ URLForItemAtIndex:0U]);
471 EXPECT_EQ([session_controller_ items].front(), 464 EXPECT_EQ([session_controller_ items].front().get(),
472 [session_controller_ currentItem]); 465 [session_controller_ currentItem]);
473 } 466 }
474 467
475 // Tests inserting session controller state. 468 // Tests inserting session controller state.
476 TEST_F(CRWSessionControllerTest, InsertState) { 469 TEST_F(CRWSessionControllerTest, InsertState) {
477 // Add 1 committed and 1 pending item to target controller. 470 // Add 1 committed and 1 pending item to target controller.
478 [session_controller_ 471 [session_controller_
479 addPendingItem:GURL("http://www.url.com/2") 472 addPendingItem:GURL("http://www.url.com/2")
480 referrer:web::Referrer() 473 referrer:web::Referrer()
481 transition:ui::PAGE_TRANSITION_TYPED 474 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 EXPECT_EQ(GURL("http://www.url.com/0"), 508 EXPECT_EQ(GURL("http://www.url.com/0"),
516 [session_controller_ URLForItemAtIndex:0]); 509 [session_controller_ URLForItemAtIndex:0]);
517 EXPECT_EQ(GURL("http://www.url.com/2"), 510 EXPECT_EQ(GURL("http://www.url.com/2"),
518 [session_controller_ URLForItemAtIndex:1]); 511 [session_controller_ URLForItemAtIndex:1]);
519 EXPECT_EQ(GURL("http://www.url.com/3"), 512 EXPECT_EQ(GURL("http://www.url.com/3"),
520 [session_controller_ pendingItem]->GetURL()); 513 [session_controller_ pendingItem]->GetURL());
521 } 514 }
522 515
523 // Tests inserting session controller state from empty session controller. 516 // Tests inserting session controller state from empty session controller.
524 TEST_F(CRWSessionControllerTest, InsertStateFromEmptySessionController) { 517 TEST_F(CRWSessionControllerTest, InsertStateFromEmptySessionController) {
525 // Add 2 committed entries to target controller. 518 // Add 2 committed items to target controller.
526 [session_controller_ 519 [session_controller_
527 addPendingItem:GURL("http://www.url.com/0") 520 addPendingItem:GURL("http://www.url.com/0")
528 referrer:web::Referrer() 521 referrer:web::Referrer()
529 transition:ui::PAGE_TRANSITION_TYPED 522 transition:ui::PAGE_TRANSITION_TYPED
530 initiationType:web::NavigationInitiationType::USER_INITIATED]; 523 initiationType:web::NavigationInitiationType::USER_INITIATED];
531 [session_controller_ commitPendingItem]; 524 [session_controller_ commitPendingItem];
532 [session_controller_ 525 [session_controller_
533 addPendingItem:GURL("http://www.url.com/1") 526 addPendingItem:GURL("http://www.url.com/1")
534 referrer:web::Referrer() 527 referrer:web::Referrer()
535 transition:ui::PAGE_TRANSITION_TYPED 528 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 14 matching lines...) Expand all
550 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); 543 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
551 EXPECT_FALSE([session_controller_ pendingItem]); 544 EXPECT_FALSE([session_controller_ pendingItem]);
552 EXPECT_EQ(GURL("http://www.url.com/0"), 545 EXPECT_EQ(GURL("http://www.url.com/0"),
553 [session_controller_ URLForItemAtIndex:0]); 546 [session_controller_ URLForItemAtIndex:0]);
554 EXPECT_EQ(GURL("http://www.url.com/1"), 547 EXPECT_EQ(GURL("http://www.url.com/1"),
555 [session_controller_ URLForItemAtIndex:1]); 548 [session_controller_ URLForItemAtIndex:1]);
556 } 549 }
557 550
558 // Tests inserting session controller state to empty session controller. 551 // Tests inserting session controller state to empty session controller.
559 TEST_F(CRWSessionControllerTest, InsertStateToEmptySessionController) { 552 TEST_F(CRWSessionControllerTest, InsertStateToEmptySessionController) {
560 // Create source session controller with 2 committed entries and one 553 // Create source session controller with 2 committed items and one
561 // pending item. 554 // pending item.
562 base::scoped_nsobject<CRWSessionController> other_session_controller( 555 base::scoped_nsobject<CRWSessionController> other_session_controller(
563 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 556 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
564 openedByDOM:NO]); 557 openedByDOM:NO]);
565 [other_session_controller 558 [other_session_controller
566 addPendingItem:GURL("http://www.url.com/0") 559 addPendingItem:GURL("http://www.url.com/0")
567 referrer:web::Referrer() 560 referrer:web::Referrer()
568 transition:ui::PAGE_TRANSITION_TYPED 561 transition:ui::PAGE_TRANSITION_TYPED
569 initiationType:web::NavigationInitiationType::USER_INITIATED]; 562 initiationType:web::NavigationInitiationType::USER_INITIATED];
570 [other_session_controller commitPendingItem]; 563 [other_session_controller commitPendingItem];
(...skipping 21 matching lines...) Expand all
592 EXPECT_EQ(GURL("http://www.url.com/0"), 585 EXPECT_EQ(GURL("http://www.url.com/0"),
593 [session_controller_ URLForItemAtIndex:0]); 586 [session_controller_ URLForItemAtIndex:0]);
594 EXPECT_EQ(GURL("http://www.url.com/1"), 587 EXPECT_EQ(GURL("http://www.url.com/1"),
595 [session_controller_ URLForItemAtIndex:1]); 588 [session_controller_ URLForItemAtIndex:1]);
596 } 589 }
597 590
598 // Tests inserting session controller state. Verifies that pending item index 591 // Tests inserting session controller state. Verifies that pending item index
599 // remains valid. 592 // remains valid.
600 TEST_F(CRWSessionControllerTest, 593 TEST_F(CRWSessionControllerTest,
601 InsertStateWithPendingItemIndexInTargetController) { 594 InsertStateWithPendingItemIndexInTargetController) {
602 // Add 2 committed entries and make the first item pending. 595 // Add 2 committed items and make the first item pending.
603 [session_controller_ 596 [session_controller_
604 addPendingItem:GURL("http://www.url.com/2") 597 addPendingItem:GURL("http://www.url.com/2")
605 referrer:web::Referrer() 598 referrer:web::Referrer()
606 transition:ui::PAGE_TRANSITION_TYPED 599 transition:ui::PAGE_TRANSITION_TYPED
607 initiationType:web::NavigationInitiationType::USER_INITIATED]; 600 initiationType:web::NavigationInitiationType::USER_INITIATED];
608 [session_controller_ commitPendingItem]; 601 [session_controller_ commitPendingItem];
609 [session_controller_ 602 [session_controller_
610 addPendingItem:GURL("http://www.url.com/3") 603 addPendingItem:GURL("http://www.url.com/3")
611 referrer:web::Referrer() 604 referrer:web::Referrer()
612 transition:ui::PAGE_TRANSITION_TYPED 605 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 items.push_back(CreateNavigationItem("http://www.espn.com", 682 items.push_back(CreateNavigationItem("http://www.espn.com",
690 "http://www.nothing.com", @"ESPN")); 683 "http://www.nothing.com", @"ESPN"));
691 base::scoped_nsobject<CRWSessionController> controller( 684 base::scoped_nsobject<CRWSessionController> controller(
692 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 685 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
693 navigationItems:std::move(items) 686 navigationItems:std::move(items)
694 currentIndex:1]); 687 currentIndex:1]);
695 688
696 EXPECT_EQ(controller.get().items.size(), 3U); 689 EXPECT_EQ(controller.get().items.size(), 3U);
697 EXPECT_EQ(controller.get().currentNavigationIndex, 1); 690 EXPECT_EQ(controller.get().currentNavigationIndex, 1);
698 EXPECT_EQ(controller.get().previousNavigationIndex, -1); 691 EXPECT_EQ(controller.get().previousNavigationIndex, -1);
699 // Sanity check the current item, the CRWSessionItem unit test will ensure 692 // Sanity check the current item, the NavigationItem unit test will ensure
700 // the entire object is created properly. 693 // the entire object is created properly.
701 EXPECT_EQ(controller.get().currentItem->GetURL(), 694 EXPECT_EQ([controller currentItem]->GetURL(), GURL("http://www.yahoo.com"));
702 GURL("http://www.yahoo.com"));
703 } 695 }
704 696
705 // Tests index of previous navigation item. 697 // Tests index of previous navigation item.
706 TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { 698 TEST_F(CRWSessionControllerTest, PreviousNavigationItem) {
707 EXPECT_EQ(session_controller_.get().previousNavigationIndex, -1); 699 EXPECT_EQ(session_controller_.get().previousNavigationIndex, -1);
708 [session_controller_ 700 [session_controller_
709 addPendingItem:GURL("http://www.url.com") 701 addPendingItem:GURL("http://www.url.com")
710 referrer:MakeReferrer("http://www.referer.com") 702 referrer:MakeReferrer("http://www.referer.com")
711 transition:ui::PAGE_TRANSITION_TYPED 703 transition:ui::PAGE_TRANSITION_TYPED
712 initiationType:web::NavigationInitiationType::USER_INITIATED]; 704 initiationType:web::NavigationInitiationType::USER_INITIATED];
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 // Push state navigation. 787 // Push state navigation.
796 items.push_back( 788 items.push_back(
797 CreateNavigationItem("http://foo.com/bar", "http://foo.com", @"Fifth")); 789 CreateNavigationItem("http://foo.com/bar", "http://foo.com", @"Fifth"));
798 // Push state navigation. 790 // Push state navigation.
799 items.push_back(CreateNavigationItem("http://foo.com/bar#bar", 791 items.push_back(CreateNavigationItem("http://foo.com/bar#bar",
800 "http://foo.com/bar", @"Sixth")); 792 "http://foo.com/bar", @"Sixth"));
801 base::scoped_nsobject<CRWSessionController> controller( 793 base::scoped_nsobject<CRWSessionController> controller(
802 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 794 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
803 navigationItems:std::move(items) 795 navigationItems:std::move(items)
804 currentIndex:0]); 796 currentIndex:0]);
805 web::NavigationItemImpl* item0 = 797 web::NavigationItemImpl* item0 = [controller items][0].get();
806 static_cast<web::NavigationItemImpl*>([controller items][0]); 798 web::NavigationItemImpl* item1 = [controller items][1].get();
807 web::NavigationItemImpl* item1 = 799 web::NavigationItemImpl* item2 = [controller items][2].get();
808 static_cast<web::NavigationItemImpl*>([controller items][1]); 800 web::NavigationItemImpl* item3 = [controller items][3].get();
809 web::NavigationItemImpl* item2 = 801 web::NavigationItemImpl* item4 = [controller items][4].get();
810 static_cast<web::NavigationItemImpl*>([controller items][2]); 802 web::NavigationItemImpl* item5 = [controller items][5].get();
811 web::NavigationItemImpl* item3 =
812 static_cast<web::NavigationItemImpl*>([controller items][3]);
813 web::NavigationItemImpl* item4 =
814 static_cast<web::NavigationItemImpl*>([controller items][4]);
815 web::NavigationItemImpl* item5 =
816 static_cast<web::NavigationItemImpl*>([controller items][5]);
817 item1->SetIsCreatedFromPushState(true); 803 item1->SetIsCreatedFromPushState(true);
818 item4->SetIsCreatedFromHashChange(true); 804 item4->SetIsCreatedFromHashChange(true);
819 item5->SetIsCreatedFromPushState(true); 805 item5->SetIsCreatedFromPushState(true);
820 806
821 EXPECT_FALSE( 807 EXPECT_FALSE(
822 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item0]); 808 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item0]);
823 EXPECT_TRUE( 809 EXPECT_TRUE(
824 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item1]); 810 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item1]);
825 EXPECT_TRUE( 811 EXPECT_TRUE(
826 [controller isSameDocumentNavigationBetweenItem:item5 andItem:item3]); 812 [controller isSameDocumentNavigationBetweenItem:item5 andItem:item3]);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 EXPECT_EQ(1U, [session_controller_ backwardItems].size()); 895 EXPECT_EQ(1U, [session_controller_ backwardItems].size());
910 EXPECT_EQ(1U, [session_controller_ forwardItems].size()); 896 EXPECT_EQ(1U, [session_controller_ forwardItems].size());
911 897
912 [session_controller_ goToItemAtIndex:0]; 898 [session_controller_ goToItemAtIndex:0];
913 web::NavigationItemList forwardItems = [session_controller_ forwardItems]; 899 web::NavigationItemList forwardItems = [session_controller_ forwardItems];
914 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); 900 EXPECT_EQ(0U, [session_controller_ backwardItems].size());
915 EXPECT_EQ(2U, forwardItems.size()); 901 EXPECT_EQ(2U, forwardItems.size());
916 EXPECT_EQ("http://www.example.com/2", forwardItems[1]->GetURL().spec()); 902 EXPECT_EQ("http://www.example.com/2", forwardItems[1]->GetURL().spec());
917 } 903 }
918 904
919 // Tests going to entries with existing and non-existing indices. 905 // Tests going to items with existing and non-existing indices.
920 TEST_F(CRWSessionControllerTest, GoToItemAtIndex) { 906 TEST_F(CRWSessionControllerTest, GoToItemAtIndex) {
921 [session_controller_ 907 [session_controller_
922 addPendingItem:GURL("http://www.example.com/0") 908 addPendingItem:GURL("http://www.example.com/0")
923 referrer:MakeReferrer("http://www.example.com/a") 909 referrer:MakeReferrer("http://www.example.com/a")
924 transition:ui::PAGE_TRANSITION_LINK 910 transition:ui::PAGE_TRANSITION_LINK
925 initiationType:web::NavigationInitiationType::USER_INITIATED]; 911 initiationType:web::NavigationInitiationType::USER_INITIATED];
926 [session_controller_ commitPendingItem]; 912 [session_controller_ commitPendingItem];
927 [session_controller_ 913 [session_controller_
928 addPendingItem:GURL("http://www.example.com/1") 914 addPendingItem:GURL("http://www.example.com/1")
929 referrer:MakeReferrer("http://www.example.com/b") 915 referrer:MakeReferrer("http://www.example.com/b")
(...skipping 16 matching lines...) Expand all
946 addPendingItem:GURL("http://www.example.com/3") 932 addPendingItem:GURL("http://www.example.com/3")
947 referrer:MakeReferrer("http://www.example.com/d") 933 referrer:MakeReferrer("http://www.example.com/d")
948 transition:ui::PAGE_TRANSITION_LINK 934 transition:ui::PAGE_TRANSITION_LINK
949 initiationType:web::NavigationInitiationType::USER_INITIATED]; 935 initiationType:web::NavigationInitiationType::USER_INITIATED];
950 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; 936 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")];
951 EXPECT_EQ(3, session_controller_.get().currentNavigationIndex); 937 EXPECT_EQ(3, session_controller_.get().currentNavigationIndex);
952 EXPECT_EQ(2, session_controller_.get().previousNavigationIndex); 938 EXPECT_EQ(2, session_controller_.get().previousNavigationIndex);
953 EXPECT_TRUE([session_controller_ pendingItem]); 939 EXPECT_TRUE([session_controller_ pendingItem]);
954 EXPECT_TRUE([session_controller_ transientItem]); 940 EXPECT_TRUE([session_controller_ transientItem]);
955 941
956 // Going back should discard transient and pending entries. 942 // Going back should discard transient and pending items.
957 [session_controller_ goToItemAtIndex:1]; 943 [session_controller_ goToItemAtIndex:1];
958 EXPECT_EQ(1, session_controller_.get().currentNavigationIndex); 944 EXPECT_EQ(1, session_controller_.get().currentNavigationIndex);
959 EXPECT_EQ(3, session_controller_.get().previousNavigationIndex); 945 EXPECT_EQ(3, session_controller_.get().previousNavigationIndex);
960 EXPECT_FALSE([session_controller_ pendingItem]); 946 EXPECT_FALSE(session_controller_.get().pendingItem);
961 EXPECT_FALSE([session_controller_ transientItem]); 947 EXPECT_FALSE(session_controller_.get().transientItem);
962 948
963 // Going forward should discard transient item. 949 // Going forward should discard transient item.
964 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; 950 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")];
965 EXPECT_TRUE([session_controller_ transientItem]); 951 EXPECT_TRUE(session_controller_.get().transientItem);
966 [session_controller_ goToItemAtIndex:2]; 952 [session_controller_ goToItemAtIndex:2];
967 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); 953 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex);
968 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); 954 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex);
969 EXPECT_FALSE([session_controller_ transientItem]); 955 EXPECT_FALSE(session_controller_.get().transientItem);
970 956
971 // Out of bounds navigations should be no-op. 957 // Out of bounds navigations should be no-op.
972 [session_controller_ goToItemAtIndex:-1]; 958 [session_controller_ goToItemAtIndex:-1];
973 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); 959 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex);
974 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); 960 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex);
975 [session_controller_ goToItemAtIndex:NSIntegerMax]; 961 [session_controller_ goToItemAtIndex:NSIntegerMax];
976 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); 962 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex);
977 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); 963 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex);
978 964
979 // Going to current index should not change the previous index. 965 // Going to current index should not change the previous index.
980 [session_controller_ goToItemAtIndex:2]; 966 [session_controller_ goToItemAtIndex:2];
981 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); 967 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex);
982 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); 968 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex);
983 } 969 }
984 970
985 // Tests that visible URL is the same as transient URL if there are no committed 971 // Tests that visible URL is the same as transient URL if there are no committed
986 // entries. 972 // items.
987 TEST_F(CRWSessionControllerTest, VisibleItemWithSingleTransientItem) { 973 TEST_F(CRWSessionControllerTest, VisibleItemWithSingleTransientItem) {
988 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; 974 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")];
989 web::NavigationItem* visible_item = [session_controller_ visibleItem]; 975 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem];
Eugene But (OOO till 7-30) 2017/03/09 16:10:58 Why? Using web::NavigationItem* seems like a suffi
kkhorimoto 2017/03/09 21:33:54 I've updated to use the more appropriate class. N
990 ASSERT_TRUE(visible_item); 976 ASSERT_TRUE(visible_item);
991 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); 977 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec());
992 } 978 }
993 979
994 // Tests that visible URL is the same as transient URL if there is a committed 980 // Tests that visible URL is the same as transient URL if there is a committed
995 // item. 981 // item.
996 TEST_F(CRWSessionControllerTest, VisibleItemWithCommittedAndTransientItems) { 982 TEST_F(CRWSessionControllerTest, VisibleItemWithCommittedAndTransientItems) {
997 [session_controller_ 983 [session_controller_
998 addPendingItem:GURL("http://www.example.com/0") 984 addPendingItem:GURL("http://www.example.com/0")
999 referrer:MakeReferrer("http://www.example.com/a") 985 referrer:MakeReferrer("http://www.example.com/a")
1000 transition:ui::PAGE_TRANSITION_LINK 986 transition:ui::PAGE_TRANSITION_LINK
1001 initiationType:web::NavigationInitiationType::USER_INITIATED]; 987 initiationType:web::NavigationInitiationType::USER_INITIATED];
1002 [session_controller_ commitPendingItem]; 988 [session_controller_ commitPendingItem];
1003 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; 989 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")];
1004 web::NavigationItem* visible_item = [session_controller_ visibleItem]; 990 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem];
1005 ASSERT_TRUE(visible_item); 991 ASSERT_TRUE(visible_item);
1006 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); 992 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec());
1007 } 993 }
1008 994
1009 // Tests that visible URL is the same as pending URL if it was user-initiated. 995 // Tests that visible URL is the same as pending URL if it was user-initiated.
1010 TEST_F(CRWSessionControllerTest, 996 TEST_F(CRWSessionControllerTest,
1011 VisibleItemWithSingleUserInitiatedPendingItem) { 997 VisibleItemWithSingleUserInitiatedPendingItem) {
1012 [session_controller_ 998 [session_controller_
1013 addPendingItem:GURL("http://www.example.com/0") 999 addPendingItem:GURL("http://www.example.com/0")
1014 referrer:MakeReferrer("http://www.example.com/a") 1000 referrer:MakeReferrer("http://www.example.com/a")
1015 transition:ui::PAGE_TRANSITION_LINK 1001 transition:ui::PAGE_TRANSITION_LINK
1016 initiationType:web::NavigationInitiationType::USER_INITIATED]; 1002 initiationType:web::NavigationInitiationType::USER_INITIATED];
1017 web::NavigationItem* visible_item = [session_controller_ visibleItem]; 1003 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem];
1018 ASSERT_TRUE(visible_item); 1004 ASSERT_TRUE(visible_item);
1019 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); 1005 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec());
1020 } 1006 }
1021 1007
1022 // Tests that visible URL is the same as pending URL if it was user-initiated 1008 // Tests that visible URL is the same as pending URL if it was user-initiated
1023 // and there is a committed item. 1009 // and there is a committed item.
1024 TEST_F(CRWSessionControllerTest, 1010 TEST_F(CRWSessionControllerTest,
1025 VisibleItemWithCommittedAndUserInitiatedPendingItem) { 1011 VisibleItemWithCommittedAndUserInitiatedPendingItem) {
1026 [session_controller_ 1012 [session_controller_
1027 addPendingItem:GURL("http://www.example.com") 1013 addPendingItem:GURL("http://www.example.com")
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 [session_controller_ commitPendingItem]; 1069 [session_controller_ commitPendingItem];
1084 [session_controller_ 1070 [session_controller_
1085 addPendingItem:GURL("http://www.example.com/0") 1071 addPendingItem:GURL("http://www.example.com/0")
1086 referrer:MakeReferrer("http://www.example.com/b") 1072 referrer:MakeReferrer("http://www.example.com/b")
1087 transition:ui::PAGE_TRANSITION_LINK 1073 transition:ui::PAGE_TRANSITION_LINK
1088 initiationType:web::NavigationInitiationType::USER_INITIATED]; 1074 initiationType:web::NavigationInitiationType::USER_INITIATED];
1089 [session_controller_ commitPendingItem]; 1075 [session_controller_ commitPendingItem];
1090 1076
1091 [session_controller_ setPendingItemIndex:0]; 1077 [session_controller_ setPendingItemIndex:0];
1092 1078
1093 web::NavigationItem* visible_item = [session_controller_ visibleItem]; 1079 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem];
1094 ASSERT_TRUE(visible_item); 1080 ASSERT_TRUE(visible_item);
1095 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); 1081 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec());
1096 } 1082 }
1097 1083
1098 // Tests that |-backwardItems| is empty if all preceding entries are 1084 // Tests that |-backwardItems| is empty if all preceding items are
1099 // redirects. 1085 // redirects.
1100 TEST_F(CRWSessionControllerTest, BackwardItemsForAllRedirects) { 1086 TEST_F(CRWSessionControllerTest, BackwardItemsForAllRedirects) {
1101 [session_controller_ 1087 [session_controller_
1102 addPendingItem:GURL("http://www.example.com") 1088 addPendingItem:GURL("http://www.example.com")
1103 referrer:MakeReferrer("http://www.example.com/a") 1089 referrer:MakeReferrer("http://www.example.com/a")
1104 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT 1090 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT
1105 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; 1091 initiationType:web::NavigationInitiationType::RENDERER_INITIATED];
1106 [session_controller_ commitPendingItem]; 1092 [session_controller_ commitPendingItem];
1107 [session_controller_ 1093 [session_controller_
1108 addPendingItem:GURL("http://www.example.com/0") 1094 addPendingItem:GURL("http://www.example.com/0")
1109 referrer:MakeReferrer("http://www.example.com/b") 1095 referrer:MakeReferrer("http://www.example.com/b")
1110 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT 1096 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT
1111 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; 1097 initiationType:web::NavigationInitiationType::RENDERER_INITIATED];
1112 [session_controller_ commitPendingItem]; 1098 [session_controller_ commitPendingItem];
1113 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); 1099 EXPECT_EQ(0U, [session_controller_ backwardItems].size());
1114 } 1100 }
1115 1101
1116 } // anonymous namespace 1102 } // anonymous namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698