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

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

Issue 2755823002: Moved |openedByDOM| to WebState's CreateParams and public interface. (Closed)
Patch Set: . 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 27 matching lines...) Expand all
38 - (const GURL&)currentURL { 38 - (const GURL&)currentURL {
39 return self.currentItem ? self.currentItem->GetURL() : GURL::EmptyGURL(); 39 return self.currentItem ? self.currentItem->GetURL() : GURL::EmptyGURL();
40 } 40 }
41 @end 41 @end
42 42
43 namespace { 43 namespace {
44 44
45 class CRWSessionControllerTest : public PlatformTest { 45 class CRWSessionControllerTest : public PlatformTest {
46 protected: 46 protected:
47 void SetUp() override { 47 void SetUp() override {
48 session_controller_.reset([[CRWSessionController alloc] 48 session_controller_.reset(
49 initWithBrowserState:&browser_state_ 49 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]);
50 openedByDOM:NO]);
51 } 50 }
52 51
53 web::Referrer MakeReferrer(const std::string& url) { 52 web::Referrer MakeReferrer(const std::string& url) {
54 return web::Referrer(GURL(url), web::ReferrerPolicyDefault); 53 return web::Referrer(GURL(url), web::ReferrerPolicyDefault);
55 } 54 }
56 55
57 web::TestWebThreadBundle thread_bundle_; 56 web::TestWebThreadBundle thread_bundle_;
58 web::TestBrowserState browser_state_; 57 web::TestBrowserState browser_state_;
59 base::scoped_nsobject<CRWSessionController> session_controller_; 58 base::scoped_nsobject<CRWSessionController> session_controller_;
60 }; 59 };
61 60
62 TEST_F(CRWSessionControllerTest, Init) { 61 TEST_F(CRWSessionControllerTest, Init) {
63 EXPECT_FALSE([session_controller_ isOpenedByDOM]);
64 EXPECT_TRUE([session_controller_ items].empty()); 62 EXPECT_TRUE([session_controller_ items].empty());
65 EXPECT_FALSE([session_controller_ currentItem]); 63 EXPECT_FALSE([session_controller_ currentItem]);
66 } 64 }
67 65
68 // Tests session controller state after setting a pending index. 66 // Tests session controller state after setting a pending index.
69 TEST_F(CRWSessionControllerTest, SetPendingIndex) { 67 TEST_F(CRWSessionControllerTest, SetPendingIndex) {
70 [session_controller_ 68 [session_controller_
71 addPendingItem:GURL("http://www.example.com") 69 addPendingItem:GURL("http://www.example.com")
72 referrer:web::Referrer() 70 referrer:web::Referrer()
73 transition:ui::PAGE_TRANSITION_TYPED 71 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 initiationType:web::NavigationInitiationType::USER_INITIATED]; 480 initiationType:web::NavigationInitiationType::USER_INITIATED];
483 [session_controller_ commitPendingItem]; 481 [session_controller_ commitPendingItem];
484 [session_controller_ 482 [session_controller_
485 addPendingItem:GURL("http://www.url.com/3") 483 addPendingItem:GURL("http://www.url.com/3")
486 referrer:web::Referrer() 484 referrer:web::Referrer()
487 transition:ui::PAGE_TRANSITION_TYPED 485 transition:ui::PAGE_TRANSITION_TYPED
488 initiationType:web::NavigationInitiationType::USER_INITIATED]; 486 initiationType:web::NavigationInitiationType::USER_INITIATED];
489 487
490 // Create source session controller with 1 committed item. 488 // Create source session controller with 1 committed item.
491 base::scoped_nsobject<CRWSessionController> other_session_controller( 489 base::scoped_nsobject<CRWSessionController> other_session_controller(
492 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 490 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]);
493 openedByDOM:NO]);
494 [other_session_controller 491 [other_session_controller
495 addPendingItem:GURL("http://www.url.com/0") 492 addPendingItem:GURL("http://www.url.com/0")
496 referrer:web::Referrer() 493 referrer:web::Referrer()
497 transition:ui::PAGE_TRANSITION_TYPED 494 transition:ui::PAGE_TRANSITION_TYPED
498 initiationType:web::NavigationInitiationType::USER_INITIATED]; 495 initiationType:web::NavigationInitiationType::USER_INITIATED];
499 [other_session_controller commitPendingItem]; 496 [other_session_controller commitPendingItem];
500 [other_session_controller 497 [other_session_controller
501 addPendingItem:GURL("http://www.url.com/1") 498 addPendingItem:GURL("http://www.url.com/1")
502 referrer:web::Referrer() 499 referrer:web::Referrer()
503 transition:ui::PAGE_TRANSITION_TYPED 500 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 28 matching lines...) Expand all
532 [session_controller_ commitPendingItem]; 529 [session_controller_ commitPendingItem];
533 [session_controller_ 530 [session_controller_
534 addPendingItem:GURL("http://www.url.com/1") 531 addPendingItem:GURL("http://www.url.com/1")
535 referrer:web::Referrer() 532 referrer:web::Referrer()
536 transition:ui::PAGE_TRANSITION_TYPED 533 transition:ui::PAGE_TRANSITION_TYPED
537 initiationType:web::NavigationInitiationType::USER_INITIATED]; 534 initiationType:web::NavigationInitiationType::USER_INITIATED];
538 [session_controller_ commitPendingItem]; 535 [session_controller_ commitPendingItem];
539 536
540 // Create empty source session controller. 537 // Create empty source session controller.
541 base::scoped_nsobject<CRWSessionController> other_session_controller( 538 base::scoped_nsobject<CRWSessionController> other_session_controller(
542 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 539 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]);
543 openedByDOM:NO]);
544 540
545 // Insert and verify the state of target session controller. 541 // Insert and verify the state of target session controller.
546 EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]); 542 EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]);
547 [session_controller_ 543 [session_controller_
548 copyStateFromSessionControllerAndPrune:other_session_controller.get()]; 544 copyStateFromSessionControllerAndPrune:other_session_controller.get()];
549 EXPECT_EQ(2U, [session_controller_ items].size()); 545 EXPECT_EQ(2U, [session_controller_ items].size());
550 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]); 546 EXPECT_EQ(1, [session_controller_ currentNavigationIndex]);
551 EXPECT_EQ(0, [session_controller_ previousNavigationIndex]); 547 EXPECT_EQ(0, [session_controller_ previousNavigationIndex]);
552 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); 548 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
553 EXPECT_FALSE([session_controller_ pendingItem]); 549 EXPECT_FALSE([session_controller_ pendingItem]);
554 EXPECT_EQ(GURL("http://www.url.com/0"), 550 EXPECT_EQ(GURL("http://www.url.com/0"),
555 [session_controller_ URLForItemAtIndex:0]); 551 [session_controller_ URLForItemAtIndex:0]);
556 EXPECT_EQ(GURL("http://www.url.com/1"), 552 EXPECT_EQ(GURL("http://www.url.com/1"),
557 [session_controller_ URLForItemAtIndex:1]); 553 [session_controller_ URLForItemAtIndex:1]);
558 } 554 }
559 555
560 // Tests that |-copyStateFromSessionControllerAndPrune:| is a no-op when the 556 // Tests that |-copyStateFromSessionControllerAndPrune:| is a no-op when the
561 // receiver has no last committed item. 557 // receiver has no last committed item.
562 TEST_F(CRWSessionControllerTest, CopyStateToEmptySessionController) { 558 TEST_F(CRWSessionControllerTest, CopyStateToEmptySessionController) {
563 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); 559 EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]);
564 560
565 // Create source session controller with 1 committed item. 561 // Create source session controller with 1 committed item.
566 base::scoped_nsobject<CRWSessionController> other_session_controller( 562 base::scoped_nsobject<CRWSessionController> other_session_controller(
567 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 563 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]);
568 openedByDOM:NO]);
569 [other_session_controller 564 [other_session_controller
570 addPendingItem:GURL("http://www.url.com/0") 565 addPendingItem:GURL("http://www.url.com/0")
571 referrer:web::Referrer() 566 referrer:web::Referrer()
572 transition:ui::PAGE_TRANSITION_TYPED 567 transition:ui::PAGE_TRANSITION_TYPED
573 initiationType:web::NavigationInitiationType::USER_INITIATED]; 568 initiationType:web::NavigationInitiationType::USER_INITIATED];
574 [other_session_controller commitPendingItem]; 569 [other_session_controller commitPendingItem];
575 [other_session_controller 570 [other_session_controller
576 addPendingItem:GURL("http://www.url.com/1") 571 addPendingItem:GURL("http://www.url.com/1")
577 referrer:web::Referrer() 572 referrer:web::Referrer()
578 transition:ui::PAGE_TRANSITION_TYPED 573 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 23 matching lines...) Expand all
602 [session_controller_ commitPendingItem]; 597 [session_controller_ commitPendingItem];
603 [session_controller_ 598 [session_controller_
604 addPendingItem:GURL("http://www.url.com/2") 599 addPendingItem:GURL("http://www.url.com/2")
605 referrer:web::Referrer() 600 referrer:web::Referrer()
606 transition:ui::PAGE_TRANSITION_TYPED 601 transition:ui::PAGE_TRANSITION_TYPED
607 initiationType:web::NavigationInitiationType::USER_INITIATED]; 602 initiationType:web::NavigationInitiationType::USER_INITIATED];
608 [session_controller_ commitPendingItem]; 603 [session_controller_ commitPendingItem];
609 604
610 // Create source session controller with 1 committed item. 605 // Create source session controller with 1 committed item.
611 base::scoped_nsobject<CRWSessionController> other_session_controller( 606 base::scoped_nsobject<CRWSessionController> other_session_controller(
612 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 607 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]);
613 openedByDOM:NO]);
614 [other_session_controller 608 [other_session_controller
615 addPendingItem:GURL("http://www.url.com/0") 609 addPendingItem:GURL("http://www.url.com/0")
616 referrer:web::Referrer() 610 referrer:web::Referrer()
617 transition:ui::PAGE_TRANSITION_TYPED 611 transition:ui::PAGE_TRANSITION_TYPED
618 initiationType:web::NavigationInitiationType::USER_INITIATED]; 612 initiationType:web::NavigationInitiationType::USER_INITIATED];
619 [other_session_controller commitPendingItem]; 613 [other_session_controller commitPendingItem];
620 [other_session_controller 614 [other_session_controller
621 addPendingItem:GURL("http://www.url.com/1") 615 addPendingItem:GURL("http://www.url.com/1")
622 referrer:web::Referrer() 616 referrer:web::Referrer()
623 transition:ui::PAGE_TRANSITION_TYPED 617 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 29 matching lines...) Expand all
653 GURL second_url = GURL("http://www.url.com/2"); 647 GURL second_url = GURL("http://www.url.com/2");
654 [session_controller_ 648 [session_controller_
655 addPendingItem:second_url 649 addPendingItem:second_url
656 referrer:web::Referrer() 650 referrer:web::Referrer()
657 transition:ui::PAGE_TRANSITION_TYPED 651 transition:ui::PAGE_TRANSITION_TYPED
658 initiationType:web::NavigationInitiationType::USER_INITIATED]; 652 initiationType:web::NavigationInitiationType::USER_INITIATED];
659 [session_controller_ addTransientItemWithURL:second_url]; 653 [session_controller_ addTransientItemWithURL:second_url];
660 654
661 // Create source session controller with 1 committed item. 655 // Create source session controller with 1 committed item.
662 base::scoped_nsobject<CRWSessionController> other_session_controller( 656 base::scoped_nsobject<CRWSessionController> other_session_controller(
663 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ 657 [[CRWSessionController alloc] initWithBrowserState:&browser_state_]);
664 openedByDOM:NO]);
665 [other_session_controller 658 [other_session_controller
666 addPendingItem:GURL("http://www.url.com/0") 659 addPendingItem:GURL("http://www.url.com/0")
667 referrer:web::Referrer() 660 referrer:web::Referrer()
668 transition:ui::PAGE_TRANSITION_TYPED 661 transition:ui::PAGE_TRANSITION_TYPED
669 initiationType:web::NavigationInitiationType::USER_INITIATED]; 662 initiationType:web::NavigationInitiationType::USER_INITIATED];
670 [other_session_controller commitPendingItem]; 663 [other_session_controller commitPendingItem];
671 [other_session_controller 664 [other_session_controller
672 addPendingItem:GURL("http://www.url.com/1") 665 addPendingItem:GURL("http://www.url.com/1")
673 referrer:web::Referrer() 666 referrer:web::Referrer()
674 transition:ui::PAGE_TRANSITION_TYPED 667 transition:ui::PAGE_TRANSITION_TYPED
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after
1152 [session_controller_ 1145 [session_controller_
1153 addPendingItem:GURL("http://www.example.com/0") 1146 addPendingItem:GURL("http://www.example.com/0")
1154 referrer:MakeReferrer("http://www.example.com/b") 1147 referrer:MakeReferrer("http://www.example.com/b")
1155 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT 1148 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT
1156 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; 1149 initiationType:web::NavigationInitiationType::RENDERER_INITIATED];
1157 [session_controller_ commitPendingItem]; 1150 [session_controller_ commitPendingItem];
1158 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); 1151 EXPECT_EQ(0U, [session_controller_ backwardItems].size());
1159 } 1152 }
1160 1153
1161 } // anonymous namespace 1154 } // 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