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

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

Issue 2720983002: Remove windowName from CRWSessionController. (Closed)
Patch Set: Address comments. 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 29 matching lines...) Expand all
40 DCHECK([self currentEntry]); 40 DCHECK([self currentEntry]);
41 return [self currentEntry].navigationItem->GetURL(); 41 return [self currentEntry].navigationItem->GetURL();
42 } 42 }
43 @end 43 @end
44 44
45 namespace { 45 namespace {
46 46
47 class CRWSessionControllerTest : public PlatformTest { 47 class CRWSessionControllerTest : public PlatformTest {
48 protected: 48 protected:
49 void SetUp() override { 49 void SetUp() override {
50 session_controller_.reset( 50 session_controller_.reset([[CRWSessionController alloc]
51 [[CRWSessionController alloc] initWithWindowName:@"test window" 51 initWithBrowserState:&browser_state_
52 openedByDOM:NO 52 openedByDOM:NO]);
53 browserState:&browser_state_]);
54 } 53 }
55 54
56 web::Referrer MakeReferrer(const std::string& url) { 55 web::Referrer MakeReferrer(const std::string& url) {
57 return web::Referrer(GURL(url), web::ReferrerPolicyDefault); 56 return web::Referrer(GURL(url), web::ReferrerPolicyDefault);
58 } 57 }
59 58
60 web::TestWebThreadBundle thread_bundle_; 59 web::TestWebThreadBundle thread_bundle_;
61 web::TestBrowserState browser_state_; 60 web::TestBrowserState browser_state_;
62 base::scoped_nsobject<CRWSessionController> session_controller_; 61 base::scoped_nsobject<CRWSessionController> session_controller_;
63 }; 62 };
64 63
65 TEST_F(CRWSessionControllerTest, InitWithWindowName) { 64 TEST_F(CRWSessionControllerTest, Init) {
66 EXPECT_NSEQ(@"test window", [session_controller_ windowName]);
67 EXPECT_FALSE([session_controller_ isOpenedByDOM]); 65 EXPECT_FALSE([session_controller_ isOpenedByDOM]);
68 EXPECT_EQ(0U, [[session_controller_ entries] count]); 66 EXPECT_EQ(0U, [[session_controller_ entries] count]);
69 EXPECT_EQ(nil, [session_controller_ currentEntry]); 67 EXPECT_EQ(nil, [session_controller_ currentEntry]);
70 } 68 }
71 69
72 // Tests session controller state after setting a pending index. 70 // Tests session controller state after setting a pending index.
73 TEST_F(CRWSessionControllerTest, SetPendingIndex) { 71 TEST_F(CRWSessionControllerTest, SetPendingIndex) {
74 [session_controller_ 72 [session_controller_
75 addPendingItem:GURL("http://www.example.com") 73 addPendingItem:GURL("http://www.example.com")
76 referrer:web::Referrer() 74 referrer:web::Referrer()
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 initiationType:web::NavigationInitiationType::USER_INITIATED]; 501 initiationType:web::NavigationInitiationType::USER_INITIATED];
504 [session_controller_ commitPendingItem]; 502 [session_controller_ commitPendingItem];
505 [session_controller_ 503 [session_controller_
506 addPendingItem:GURL("http://www.url.com/3") 504 addPendingItem:GURL("http://www.url.com/3")
507 referrer:web::Referrer() 505 referrer:web::Referrer()
508 transition:ui::PAGE_TRANSITION_TYPED 506 transition:ui::PAGE_TRANSITION_TYPED
509 initiationType:web::NavigationInitiationType::USER_INITIATED]; 507 initiationType:web::NavigationInitiationType::USER_INITIATED];
510 508
511 // Create source session controller with 1 committed entry. 509 // Create source session controller with 1 committed entry.
512 base::scoped_nsobject<CRWSessionController> other_session_controller( 510 base::scoped_nsobject<CRWSessionController> other_session_controller(
513 [[CRWSessionController alloc] initWithWindowName:nil 511 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
514 openedByDOM:NO 512 openedByDOM:NO]);
515 browserState:&browser_state_]);
516 [other_session_controller setWindowName:@"test-window"];
517 [other_session_controller 513 [other_session_controller
518 addPendingItem:GURL("http://www.url.com/0") 514 addPendingItem:GURL("http://www.url.com/0")
519 referrer:web::Referrer() 515 referrer:web::Referrer()
520 transition:ui::PAGE_TRANSITION_TYPED 516 transition:ui::PAGE_TRANSITION_TYPED
521 initiationType:web::NavigationInitiationType::USER_INITIATED]; 517 initiationType:web::NavigationInitiationType::USER_INITIATED];
522 [other_session_controller commitPendingItem]; 518 [other_session_controller commitPendingItem];
523 [other_session_controller 519 [other_session_controller
524 addPendingItem:GURL("http://www.url.com/1") 520 addPendingItem:GURL("http://www.url.com/1")
525 referrer:web::Referrer() 521 referrer:web::Referrer()
526 transition:ui::PAGE_TRANSITION_TYPED 522 transition:ui::PAGE_TRANSITION_TYPED
527 initiationType:web::NavigationInitiationType::USER_INITIATED]; 523 initiationType:web::NavigationInitiationType::USER_INITIATED];
528 524
529 // Insert and verify the state of target session controller. 525 // Insert and verify the state of target session controller.
530 [session_controller_ 526 [session_controller_
531 insertStateFromSessionController:other_session_controller.get()]; 527 insertStateFromSessionController:other_session_controller.get()];
532 528
533 EXPECT_NSEQ(@"test-window", [session_controller_ windowName]);
534 EXPECT_EQ(2U, [[session_controller_ entries] count]); 529 EXPECT_EQ(2U, [[session_controller_ entries] count]);
535 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]); 530 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]);
536 EXPECT_EQ(-1, [session_controller_ previousNavigationIndex]); 531 EXPECT_EQ(-1, [session_controller_ previousNavigationIndex]);
537 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); 532 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
538 533
539 EXPECT_EQ(GURL("http://www.url.com/0"), 534 EXPECT_EQ(GURL("http://www.url.com/0"),
540 [session_controller_ URLForSessionAtIndex:0]); 535 [session_controller_ URLForSessionAtIndex:0]);
541 EXPECT_EQ(GURL("http://www.url.com/2"), 536 EXPECT_EQ(GURL("http://www.url.com/2"),
542 [session_controller_ URLForSessionAtIndex:1]); 537 [session_controller_ URLForSessionAtIndex:1]);
543 EXPECT_EQ(GURL("http://www.url.com/3"), 538 EXPECT_EQ(GURL("http://www.url.com/3"),
(...skipping 11 matching lines...) Expand all
555 [session_controller_ commitPendingItem]; 550 [session_controller_ commitPendingItem];
556 [session_controller_ 551 [session_controller_
557 addPendingItem:GURL("http://www.url.com/1") 552 addPendingItem:GURL("http://www.url.com/1")
558 referrer:web::Referrer() 553 referrer:web::Referrer()
559 transition:ui::PAGE_TRANSITION_TYPED 554 transition:ui::PAGE_TRANSITION_TYPED
560 initiationType:web::NavigationInitiationType::USER_INITIATED]; 555 initiationType:web::NavigationInitiationType::USER_INITIATED];
561 [session_controller_ commitPendingItem]; 556 [session_controller_ commitPendingItem];
562 557
563 // Create empty source session controller. 558 // Create empty source session controller.
564 base::scoped_nsobject<CRWSessionController> other_session_controller( 559 base::scoped_nsobject<CRWSessionController> other_session_controller(
565 [[CRWSessionController alloc] initWithWindowName:nil 560 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
566 openedByDOM:NO 561 openedByDOM:NO]);
567 browserState:&browser_state_]);
568 [other_session_controller setWindowName:@"test-window"];
569 562
570 // Insert and verify the state of target session controller. 563 // Insert and verify the state of target session controller.
571 [session_controller_ 564 [session_controller_
572 insertStateFromSessionController:other_session_controller.get()]; 565 insertStateFromSessionController:other_session_controller.get()];
573
574 EXPECT_NSEQ(@"test-window", [session_controller_ windowName]);
575 EXPECT_EQ(2U, [[session_controller_ entries] count]); 566 EXPECT_EQ(2U, [[session_controller_ entries] count]);
576 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]); 567 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]);
577 EXPECT_EQ(0, [session_controller_ previousNavigationIndex]); 568 EXPECT_EQ(0, [session_controller_ previousNavigationIndex]);
578 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); 569 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
579 EXPECT_FALSE([session_controller_ pendingEntry]); 570 EXPECT_FALSE([session_controller_ pendingEntry]);
580 EXPECT_EQ(GURL("http://www.url.com/0"), 571 EXPECT_EQ(GURL("http://www.url.com/0"),
581 [session_controller_ URLForSessionAtIndex:0]); 572 [session_controller_ URLForSessionAtIndex:0]);
582 EXPECT_EQ(GURL("http://www.url.com/1"), 573 EXPECT_EQ(GURL("http://www.url.com/1"),
583 [session_controller_ URLForSessionAtIndex:1]); 574 [session_controller_ URLForSessionAtIndex:1]);
584 } 575 }
585 576
586 // Tests inserting session controller state to empty session controller. 577 // Tests inserting session controller state to empty session controller.
587 TEST_F(CRWSessionControllerTest, InsertStateToEmptySessionController) { 578 TEST_F(CRWSessionControllerTest, InsertStateToEmptySessionController) {
588 // Create source session controller with 2 committed entries and one 579 // Create source session controller with 2 committed entries and one
589 // pending entry. 580 // pending entry.
590 base::scoped_nsobject<CRWSessionController> other_session_controller( 581 base::scoped_nsobject<CRWSessionController> other_session_controller(
591 [[CRWSessionController alloc] initWithWindowName:nil 582 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
592 openedByDOM:NO 583 openedByDOM:NO]);
593 browserState:&browser_state_]);
594 [other_session_controller setWindowName:@"test-window"];
595 [other_session_controller 584 [other_session_controller
596 addPendingItem:GURL("http://www.url.com/0") 585 addPendingItem:GURL("http://www.url.com/0")
597 referrer:web::Referrer() 586 referrer:web::Referrer()
598 transition:ui::PAGE_TRANSITION_TYPED 587 transition:ui::PAGE_TRANSITION_TYPED
599 initiationType:web::NavigationInitiationType::USER_INITIATED]; 588 initiationType:web::NavigationInitiationType::USER_INITIATED];
600 [other_session_controller commitPendingItem]; 589 [other_session_controller commitPendingItem];
601 [other_session_controller 590 [other_session_controller
602 addPendingItem:GURL("http://www.url.com/1") 591 addPendingItem:GURL("http://www.url.com/1")
603 referrer:web::Referrer() 592 referrer:web::Referrer()
604 transition:ui::PAGE_TRANSITION_TYPED 593 transition:ui::PAGE_TRANSITION_TYPED
605 initiationType:web::NavigationInitiationType::USER_INITIATED]; 594 initiationType:web::NavigationInitiationType::USER_INITIATED];
606 [other_session_controller commitPendingItem]; 595 [other_session_controller commitPendingItem];
607 [other_session_controller 596 [other_session_controller
608 addPendingItem:GURL("http://www.url.com/2") 597 addPendingItem:GURL("http://www.url.com/2")
609 referrer:web::Referrer() 598 referrer:web::Referrer()
610 transition:ui::PAGE_TRANSITION_TYPED 599 transition:ui::PAGE_TRANSITION_TYPED
611 initiationType:web::NavigationInitiationType::USER_INITIATED]; 600 initiationType:web::NavigationInitiationType::USER_INITIATED];
612 601
613 // Insert and verify the state of target session controller. 602 // Insert and verify the state of target session controller.
614 [session_controller_ 603 [session_controller_
615 insertStateFromSessionController:other_session_controller.get()]; 604 insertStateFromSessionController:other_session_controller.get()];
616 605
617 EXPECT_NSEQ(@"test-window", [session_controller_ windowName]);
618 EXPECT_EQ(2U, [[session_controller_ entries] count]); 606 EXPECT_EQ(2U, [[session_controller_ entries] count]);
619 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]); 607 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]);
620 EXPECT_EQ(-1, [session_controller_ previousNavigationIndex]); 608 EXPECT_EQ(-1, [session_controller_ previousNavigationIndex]);
621 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); 609 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
622 EXPECT_FALSE([session_controller_ pendingEntry]); 610 EXPECT_FALSE([session_controller_ pendingEntry]);
623 EXPECT_EQ(GURL("http://www.url.com/0"), 611 EXPECT_EQ(GURL("http://www.url.com/0"),
624 [session_controller_ URLForSessionAtIndex:0]); 612 [session_controller_ URLForSessionAtIndex:0]);
625 EXPECT_EQ(GURL("http://www.url.com/1"), 613 EXPECT_EQ(GURL("http://www.url.com/1"),
626 [session_controller_ URLForSessionAtIndex:1]); 614 [session_controller_ URLForSessionAtIndex:1]);
627 } 615 }
(...skipping 12 matching lines...) Expand all
640 [session_controller_ 628 [session_controller_
641 addPendingItem:GURL("http://www.url.com/3") 629 addPendingItem:GURL("http://www.url.com/3")
642 referrer:web::Referrer() 630 referrer:web::Referrer()
643 transition:ui::PAGE_TRANSITION_TYPED 631 transition:ui::PAGE_TRANSITION_TYPED
644 initiationType:web::NavigationInitiationType::USER_INITIATED]; 632 initiationType:web::NavigationInitiationType::USER_INITIATED];
645 [session_controller_ commitPendingItem]; 633 [session_controller_ commitPendingItem];
646 [session_controller_ setPendingItemIndex:0]; 634 [session_controller_ setPendingItemIndex:0];
647 635
648 // Create source session controller with 1 committed entry. 636 // Create source session controller with 1 committed entry.
649 base::scoped_nsobject<CRWSessionController> other_session_controller( 637 base::scoped_nsobject<CRWSessionController> other_session_controller(
650 [[CRWSessionController alloc] initWithWindowName:nil 638 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
651 openedByDOM:NO 639 openedByDOM:NO]);
652 browserState:&browser_state_]);
653 [other_session_controller setWindowName:@"test-window"];
654 [other_session_controller 640 [other_session_controller
655 addPendingItem:GURL("http://www.url.com/0") 641 addPendingItem:GURL("http://www.url.com/0")
656 referrer:web::Referrer() 642 referrer:web::Referrer()
657 transition:ui::PAGE_TRANSITION_TYPED 643 transition:ui::PAGE_TRANSITION_TYPED
658 initiationType:web::NavigationInitiationType::USER_INITIATED]; 644 initiationType:web::NavigationInitiationType::USER_INITIATED];
659 [other_session_controller commitPendingItem]; 645 [other_session_controller commitPendingItem];
660 646
661 // Insert and verify the state of target session controller. 647 // Insert and verify the state of target session controller.
662 [session_controller_ 648 [session_controller_
663 insertStateFromSessionController:other_session_controller.get()]; 649 insertStateFromSessionController:other_session_controller.get()];
664 650
665 EXPECT_NSEQ(@"test-window", [session_controller_ windowName]);
666 EXPECT_EQ(3U, [[session_controller_ entries] count]); 651 EXPECT_EQ(3U, [[session_controller_ entries] count]);
667 EXPECT_EQ(2, [session_controller_ currentNavigationIndex]); 652 EXPECT_EQ(2, [session_controller_ currentNavigationIndex]);
668 EXPECT_EQ(-1, [session_controller_ previousNavigationIndex]); 653 EXPECT_EQ(-1, [session_controller_ previousNavigationIndex]);
669 EXPECT_EQ(1, [session_controller_ pendingItemIndex]); 654 EXPECT_EQ(1, [session_controller_ pendingItemIndex]);
670 EXPECT_EQ(GURL("http://www.url.com/0"), 655 EXPECT_EQ(GURL("http://www.url.com/0"),
671 [session_controller_ URLForSessionAtIndex:0]); 656 [session_controller_ URLForSessionAtIndex:0]);
672 EXPECT_EQ(GURL("http://www.url.com/2"), 657 EXPECT_EQ(GURL("http://www.url.com/2"),
673 [session_controller_ URLForSessionAtIndex:1]); 658 [session_controller_ URLForSessionAtIndex:1]);
674 EXPECT_EQ(GURL("http://www.url.com/2"), 659 EXPECT_EQ(GURL("http://www.url.com/2"),
675 [[session_controller_ pendingEntry] navigationItem]->GetURL()); 660 [[session_controller_ pendingEntry] navigationItem]->GetURL());
(...skipping 22 matching lines...) Expand all
698 navigation_item->SetReferrer(referrer_object); 683 navigation_item->SetReferrer(referrer_object);
699 navigation_item->SetTitle(base::SysNSStringToUTF16(title)); 684 navigation_item->SetTitle(base::SysNSStringToUTF16(title));
700 navigation_item->SetTransitionType(ui::PAGE_TRANSITION_TYPED); 685 navigation_item->SetTransitionType(ui::PAGE_TRANSITION_TYPED);
701 686
702 return navigation_item; 687 return navigation_item;
703 } 688 }
704 689
705 TEST_F(CRWSessionControllerTest, CreateWithEmptyNavigations) { 690 TEST_F(CRWSessionControllerTest, CreateWithEmptyNavigations) {
706 std::vector<std::unique_ptr<web::NavigationItem>> items; 691 std::vector<std::unique_ptr<web::NavigationItem>> items;
707 base::scoped_nsobject<CRWSessionController> controller( 692 base::scoped_nsobject<CRWSessionController> controller(
708 [[CRWSessionController alloc] initWithNavigationItems:std::move(items) 693 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
709 currentIndex:0 694 navigationItems:std::move(items)
710 browserState:&browser_state_]); 695 currentIndex:0]);
711 EXPECT_EQ(controller.get().entries.count, 0U); 696 EXPECT_EQ(controller.get().entries.count, 0U);
712 EXPECT_EQ(controller.get().currentNavigationIndex, -1); 697 EXPECT_EQ(controller.get().currentNavigationIndex, -1);
713 EXPECT_EQ(controller.get().previousNavigationIndex, -1); 698 EXPECT_EQ(controller.get().previousNavigationIndex, -1);
714 EXPECT_FALSE(controller.get().currentEntry); 699 EXPECT_FALSE(controller.get().currentEntry);
715 } 700 }
716 701
717 TEST_F(CRWSessionControllerTest, CreateWithNavList) { 702 TEST_F(CRWSessionControllerTest, CreateWithNavList) {
718 std::vector<std::unique_ptr<web::NavigationItem>> items; 703 std::vector<std::unique_ptr<web::NavigationItem>> items;
719 items.push_back(CreateNavigationItem("http://www.google.com", 704 items.push_back(CreateNavigationItem("http://www.google.com",
720 "http://www.referrer.com", @"Google")); 705 "http://www.referrer.com", @"Google"));
721 items.push_back(CreateNavigationItem("http://www.yahoo.com", 706 items.push_back(CreateNavigationItem("http://www.yahoo.com",
722 "http://www.google.com", @"Yahoo")); 707 "http://www.google.com", @"Yahoo"));
723 items.push_back(CreateNavigationItem("http://www.espn.com", 708 items.push_back(CreateNavigationItem("http://www.espn.com",
724 "http://www.nothing.com", @"ESPN")); 709 "http://www.nothing.com", @"ESPN"));
725 base::scoped_nsobject<CRWSessionController> controller( 710 base::scoped_nsobject<CRWSessionController> controller(
726 [[CRWSessionController alloc] initWithNavigationItems:std::move(items) 711 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
727 currentIndex:1 712 navigationItems:std::move(items)
728 browserState:&browser_state_]); 713 currentIndex:1]);
729 714
730 EXPECT_EQ(controller.get().entries.count, 3U); 715 EXPECT_EQ(controller.get().entries.count, 3U);
731 EXPECT_EQ(controller.get().currentNavigationIndex, 1); 716 EXPECT_EQ(controller.get().currentNavigationIndex, 1);
732 EXPECT_EQ(controller.get().previousNavigationIndex, -1); 717 EXPECT_EQ(controller.get().previousNavigationIndex, -1);
733 // Sanity check the current entry, the CRWSessionEntry unit test will ensure 718 // Sanity check the current entry, the CRWSessionEntry unit test will ensure
734 // the entire object is created properly. 719 // the entire object is created properly.
735 CRWSessionEntry* current_entry = controller.get().currentEntry; 720 CRWSessionEntry* current_entry = controller.get().currentEntry;
736 EXPECT_EQ(current_entry.navigationItem->GetURL(), 721 EXPECT_EQ(current_entry.navigationItem->GetURL(),
737 GURL("http://www.yahoo.com")); 722 GURL("http://www.yahoo.com"));
738 } 723 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 763
779 TEST_F(CRWSessionControllerTest, PushNewEntry) { 764 TEST_F(CRWSessionControllerTest, PushNewEntry) {
780 std::vector<std::unique_ptr<web::NavigationItem>> items; 765 std::vector<std::unique_ptr<web::NavigationItem>> items;
781 items.push_back(CreateNavigationItem("http://www.firstpage.com", 766 items.push_back(CreateNavigationItem("http://www.firstpage.com",
782 "http://www.starturl.com", @"First")); 767 "http://www.starturl.com", @"First"));
783 items.push_back(CreateNavigationItem("http://www.secondpage.com", 768 items.push_back(CreateNavigationItem("http://www.secondpage.com",
784 "http://www.firstpage.com", @"Second")); 769 "http://www.firstpage.com", @"Second"));
785 items.push_back(CreateNavigationItem("http://www.thirdpage.com", 770 items.push_back(CreateNavigationItem("http://www.thirdpage.com",
786 "http://www.secondpage.com", @"Third")); 771 "http://www.secondpage.com", @"Third"));
787 base::scoped_nsobject<CRWSessionController> controller( 772 base::scoped_nsobject<CRWSessionController> controller(
788 [[CRWSessionController alloc] initWithNavigationItems:std::move(items) 773 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
789 currentIndex:0 774 navigationItems:std::move(items)
790 browserState:&browser_state_]); 775 currentIndex:0]);
791 776
792 GURL pushPageGurl1("http://www.firstpage.com/#push1"); 777 GURL pushPageGurl1("http://www.firstpage.com/#push1");
793 NSString* stateObject1 = @"{'foo': 1}"; 778 NSString* stateObject1 = @"{'foo': 1}";
794 [controller pushNewItemWithURL:pushPageGurl1 779 [controller pushNewItemWithURL:pushPageGurl1
795 stateObject:stateObject1 780 stateObject:stateObject1
796 transition:ui::PAGE_TRANSITION_LINK]; 781 transition:ui::PAGE_TRANSITION_LINK];
797 CRWSessionEntry* pushedEntry = [controller currentEntry]; 782 CRWSessionEntry* pushedEntry = [controller currentEntry];
798 web::NavigationItemImpl* pushedItem = pushedEntry.navigationItemImpl; 783 web::NavigationItemImpl* pushedItem = pushedEntry.navigationItemImpl;
799 NSUInteger expectedCount = 2; 784 NSUInteger expectedCount = 2;
800 EXPECT_EQ(expectedCount, controller.get().entries.count); 785 EXPECT_EQ(expectedCount, controller.get().entries.count);
(...skipping 29 matching lines...) Expand all
830 "http://foo.com#bar", @"Third")); 815 "http://foo.com#bar", @"Third"));
831 items.push_back( 816 items.push_back(
832 CreateNavigationItem("http://foo.com", "http://google.com", @"Fourth")); 817 CreateNavigationItem("http://foo.com", "http://google.com", @"Fourth"));
833 // Push state navigation. 818 // Push state navigation.
834 items.push_back( 819 items.push_back(
835 CreateNavigationItem("http://foo.com/bar", "http://foo.com", @"Fifth")); 820 CreateNavigationItem("http://foo.com/bar", "http://foo.com", @"Fifth"));
836 // Push state navigation. 821 // Push state navigation.
837 items.push_back(CreateNavigationItem("http://foo.com/bar#bar", 822 items.push_back(CreateNavigationItem("http://foo.com/bar#bar",
838 "http://foo.com/bar", @"Sixth")); 823 "http://foo.com/bar", @"Sixth"));
839 base::scoped_nsobject<CRWSessionController> controller( 824 base::scoped_nsobject<CRWSessionController> controller(
840 [[CRWSessionController alloc] initWithNavigationItems:std::move(items) 825 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
841 currentIndex:0 826 navigationItems:std::move(items)
842 browserState:&browser_state_]); 827 currentIndex:0]);
843 web::NavigationItemImpl* item0 = 828 web::NavigationItemImpl* item0 =
844 static_cast<web::NavigationItemImpl*>([controller items][0]); 829 static_cast<web::NavigationItemImpl*>([controller items][0]);
845 web::NavigationItemImpl* item1 = 830 web::NavigationItemImpl* item1 =
846 static_cast<web::NavigationItemImpl*>([controller items][1]); 831 static_cast<web::NavigationItemImpl*>([controller items][1]);
847 web::NavigationItemImpl* item2 = 832 web::NavigationItemImpl* item2 =
848 static_cast<web::NavigationItemImpl*>([controller items][2]); 833 static_cast<web::NavigationItemImpl*>([controller items][2]);
849 web::NavigationItemImpl* item3 = 834 web::NavigationItemImpl* item3 =
850 static_cast<web::NavigationItemImpl*>([controller items][3]); 835 static_cast<web::NavigationItemImpl*>([controller items][3]);
851 web::NavigationItemImpl* item4 = 836 web::NavigationItemImpl* item4 =
852 static_cast<web::NavigationItemImpl*>([controller items][4]); 837 static_cast<web::NavigationItemImpl*>([controller items][4]);
(...skipping 21 matching lines...) Expand all
874 859
875 TEST_F(CRWSessionControllerTest, UpdateCurrentEntry) { 860 TEST_F(CRWSessionControllerTest, UpdateCurrentEntry) {
876 std::vector<std::unique_ptr<web::NavigationItem>> items; 861 std::vector<std::unique_ptr<web::NavigationItem>> items;
877 items.push_back(CreateNavigationItem("http://www.firstpage.com", 862 items.push_back(CreateNavigationItem("http://www.firstpage.com",
878 "http://www.starturl.com", @"First")); 863 "http://www.starturl.com", @"First"));
879 items.push_back(CreateNavigationItem("http://www.secondpage.com", 864 items.push_back(CreateNavigationItem("http://www.secondpage.com",
880 "http://www.firstpage.com", @"Second")); 865 "http://www.firstpage.com", @"Second"));
881 items.push_back(CreateNavigationItem("http://www.thirdpage.com", 866 items.push_back(CreateNavigationItem("http://www.thirdpage.com",
882 "http://www.secondpage.com", @"Third")); 867 "http://www.secondpage.com", @"Third"));
883 base::scoped_nsobject<CRWSessionController> controller( 868 base::scoped_nsobject<CRWSessionController> controller(
884 [[CRWSessionController alloc] initWithNavigationItems:std::move(items) 869 [[CRWSessionController alloc] initWithBrowserState:&browser_state_
885 currentIndex:0 870 navigationItems:std::move(items)
886 browserState:&browser_state_]); 871 currentIndex:0]);
887 872
888 GURL replacePageGurl1("http://www.firstpage.com/#replace1"); 873 GURL replacePageGurl1("http://www.firstpage.com/#replace1");
889 NSString* stateObject1 = @"{'foo': 1}"; 874 NSString* stateObject1 = @"{'foo': 1}";
890 875
891 // Replace current entry and check the size of history and fields of the 876 // Replace current entry and check the size of history and fields of the
892 // modified entry. 877 // modified entry.
893 [controller updateCurrentItemWithURL:replacePageGurl1 878 [controller updateCurrentItemWithURL:replacePageGurl1
894 stateObject:stateObject1]; 879 stateObject:stateObject1];
895 CRWSessionEntry* replacedEntry = [controller currentEntry]; 880 CRWSessionEntry* replacedEntry = [controller currentEntry];
896 web::NavigationItemImpl* replacedItem = replacedEntry.navigationItemImpl; 881 web::NavigationItemImpl* replacedItem = replacedEntry.navigationItemImpl;
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
1158 [session_controller_ 1143 [session_controller_
1159 addPendingItem:GURL("http://www.example.com/0") 1144 addPendingItem:GURL("http://www.example.com/0")
1160 referrer:MakeReferrer("http://www.example.com/b") 1145 referrer:MakeReferrer("http://www.example.com/b")
1161 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT 1146 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT
1162 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; 1147 initiationType:web::NavigationInitiationType::RENDERER_INITIATED];
1163 [session_controller_ commitPendingItem]; 1148 [session_controller_ commitPendingItem];
1164 EXPECT_EQ(0U, [session_controller_ backwardEntries].count); 1149 EXPECT_EQ(0U, [session_controller_ backwardEntries].count);
1165 } 1150 }
1166 1151
1167 } // anonymous namespace 1152 } // anonymous namespace
OLDNEW
« no previous file with comments | « ios/web/navigation/crw_session_controller+private_constructors.h ('k') | ios/web/navigation/crw_session_storage_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698