| Index: ios/web/navigation/crw_session_controller_unittest.mm
|
| diff --git a/ios/web/navigation/crw_session_controller_unittest.mm b/ios/web/navigation/crw_session_controller_unittest.mm
|
| index 3a6ab60e2df053a40b94ac4bf866d69f5cbf506f..7c7d017788ad1598d5cdca3fba267d1c5bf536d0 100644
|
| --- a/ios/web/navigation/crw_session_controller_unittest.mm
|
| +++ b/ios/web/navigation/crw_session_controller_unittest.mm
|
| @@ -30,9 +30,8 @@ @interface CRWSessionController (Testing)
|
|
|
| @implementation CRWSessionController (Testing)
|
| - (const GURL&)URLForItemAtIndex:(size_t)index {
|
| - web::NavigationItemList items = self.items;
|
| - if (index < items.size())
|
| - return items[index]->GetURL();
|
| + if (index < self.items.size())
|
| + return self.items[index]->GetURL();
|
| return GURL::EmptyGURL();
|
| }
|
|
|
| @@ -78,7 +77,7 @@ void SetUp() override {
|
| EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
|
| [session_controller_ setPendingItemIndex:0];
|
| EXPECT_EQ(0, [session_controller_ pendingItemIndex]);
|
| - EXPECT_EQ([session_controller_ items].back(),
|
| + EXPECT_EQ([session_controller_ items].back().get(),
|
| [session_controller_ pendingItem]);
|
| }
|
|
|
| @@ -178,7 +177,7 @@ void SetUp() override {
|
| EXPECT_EQ(1U, [session_controller_ items].size());
|
| EXPECT_EQ(GURL("http://www.url.com/"),
|
| [session_controller_ URLForItemAtIndex:0U]);
|
| - EXPECT_EQ([session_controller_ items].front(),
|
| + EXPECT_EQ([session_controller_ items].front().get(),
|
| [session_controller_ currentItem]);
|
| }
|
|
|
| @@ -198,7 +197,7 @@ void SetUp() override {
|
| EXPECT_EQ(1U, [session_controller_ items].size());
|
| EXPECT_EQ(GURL("http://www.another.url.com/"),
|
| [session_controller_ URLForItemAtIndex:0U]);
|
| - EXPECT_EQ([session_controller_ items].front(),
|
| + EXPECT_EQ([session_controller_ items].front().get(),
|
| [session_controller_ currentItem]);
|
| }
|
|
|
| @@ -222,7 +221,8 @@ void SetUp() override {
|
| [session_controller_ URLForItemAtIndex:0U]);
|
| EXPECT_EQ(GURL("http://www.another.url.com/"),
|
| [session_controller_ URLForItemAtIndex:1U]);
|
| - EXPECT_EQ([session_controller_ items][1U], [session_controller_ currentItem]);
|
| + EXPECT_EQ([session_controller_ items][1U].get(),
|
| + [session_controller_ currentItem]);
|
| }
|
|
|
| TEST_F(CRWSessionControllerTest, addPendingItemAndDiscard) {
|
| @@ -273,7 +273,7 @@ void SetUp() override {
|
| EXPECT_EQ(1U, [session_controller_ items].size());
|
| EXPECT_EQ(GURL("http://www.another.url.com/"),
|
| [session_controller_ URLForItemAtIndex:0U]);
|
| - EXPECT_EQ([session_controller_ items].front(),
|
| + EXPECT_EQ([session_controller_ items].front().get(),
|
| [session_controller_ currentItem]);
|
| }
|
|
|
| @@ -295,7 +295,7 @@ void SetUp() override {
|
| EXPECT_EQ(1U, [session_controller_ items].size());
|
| EXPECT_EQ(GURL("http://www.url.com/"),
|
| [session_controller_ URLForItemAtIndex:0U]);
|
| - EXPECT_EQ([session_controller_ items].front(),
|
| + EXPECT_EQ([session_controller_ items].front().get(),
|
| [session_controller_ currentItem]);
|
| }
|
|
|
| @@ -311,8 +311,8 @@ void SetUp() override {
|
| commitPendingItemWithoutPendingItemWithCommittedItem) {
|
| // Setup committed item.
|
| [session_controller_
|
| - addPendingItem:GURL("http://www.url.com")
|
| - referrer:MakeReferrer("http://www.referer.com")
|
| + addPendingItem:GURL("http://www.url.com/")
|
| + referrer:MakeReferrer("http://www.referrer.com/")
|
| transition:ui::PAGE_TRANSITION_TYPED
|
| initiationType:web::NavigationInitiationType::USER_INITIATED];
|
| [session_controller_ commitPendingItem];
|
| @@ -321,13 +321,13 @@ void SetUp() override {
|
| [session_controller_ commitPendingItem];
|
|
|
| EXPECT_EQ(1U, [session_controller_ items].size());
|
| - EXPECT_EQ([session_controller_ items].front(),
|
| + EXPECT_EQ([session_controller_ items].front().get(),
|
| [session_controller_ currentItem]);
|
| }
|
|
|
| -// Tests that forward entries are discarded after navigation item is committed.
|
| +// Tests that forward items are discarded after navigation item is committed.
|
| TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) {
|
| - // Make 3 entries.
|
| + // Make 3 items.
|
| [session_controller_
|
| addPendingItem:GURL("http://www.example.com/0")
|
| referrer:MakeReferrer("http://www.example.com/a")
|
| @@ -358,7 +358,7 @@ void SetUp() override {
|
| initiationType:web::NavigationInitiationType::RENDERER_INITIATED];
|
| [session_controller_ commitPendingItem];
|
|
|
| - // All forward entries should go away.
|
| + // All forward items should go away.
|
| EXPECT_EQ(2U, [session_controller_ items].size());
|
| EXPECT_EQ(0U, [session_controller_ forwardItems].size());
|
| ASSERT_EQ(1, [session_controller_ currentNavigationIndex]);
|
| @@ -391,15 +391,15 @@ void SetUp() override {
|
| [session_controller_ goToItemAtIndex:1];
|
| [session_controller_ setPendingItemIndex:0];
|
| ASSERT_EQ(0, [session_controller_ pendingItemIndex]);
|
| - web::NavigationItem* pendingItem = [session_controller_ pendingItem];
|
| - ASSERT_TRUE(pendingItem);
|
| + web::NavigationItem* pending_item = [session_controller_ pendingItem];
|
| + ASSERT_TRUE(pending_item);
|
| ASSERT_EQ(1, [session_controller_ currentNavigationIndex]);
|
| EXPECT_EQ(2, [session_controller_ previousNavigationIndex]);
|
| [session_controller_ commitPendingItem];
|
|
|
| // Verify that pending item has been committed and current and previous item
|
| // indices updated.
|
| - EXPECT_EQ([session_controller_ lastCommittedItem], pendingItem);
|
| + EXPECT_EQ(pending_item, [session_controller_ lastCommittedItem]);
|
| EXPECT_EQ(-1, [session_controller_ pendingItemIndex]);
|
| EXPECT_FALSE([session_controller_ pendingItem]);
|
| EXPECT_EQ(0, [session_controller_ currentNavigationIndex]);
|
| @@ -425,11 +425,11 @@ void SetUp() override {
|
| initiationType:web::NavigationInitiationType::USER_INITIATED];
|
| [session_controller_ commitPendingItem];
|
|
|
| - // Discard noncommitted entries when there is no such one
|
| + // Discard noncommitted items when there is no such one
|
| [session_controller_ discardNonCommittedItems];
|
|
|
| EXPECT_EQ(1U, [session_controller_ items].size());
|
| - EXPECT_EQ([session_controller_ items].front(),
|
| + EXPECT_EQ([session_controller_ items].front().get(),
|
| [session_controller_ currentItem]);
|
| }
|
|
|
| @@ -468,7 +468,7 @@ void SetUp() override {
|
| EXPECT_EQ(1U, [session_controller_ items].size());
|
| EXPECT_EQ(GURL("http://www.url.com/"),
|
| [session_controller_ URLForItemAtIndex:0U]);
|
| - EXPECT_EQ([session_controller_ items].front(),
|
| + EXPECT_EQ([session_controller_ items].front().get(),
|
| [session_controller_ currentItem]);
|
| }
|
|
|
| @@ -522,7 +522,7 @@ void SetUp() override {
|
|
|
| // Tests inserting session controller state from empty session controller.
|
| TEST_F(CRWSessionControllerTest, InsertStateFromEmptySessionController) {
|
| - // Add 2 committed entries to target controller.
|
| + // Add 2 committed items to target controller.
|
| [session_controller_
|
| addPendingItem:GURL("http://www.url.com/0")
|
| referrer:web::Referrer()
|
| @@ -557,7 +557,7 @@ void SetUp() override {
|
|
|
| // Tests inserting session controller state to empty session controller.
|
| TEST_F(CRWSessionControllerTest, InsertStateToEmptySessionController) {
|
| - // Create source session controller with 2 committed entries and one
|
| + // Create source session controller with 2 committed items and one
|
| // pending item.
|
| base::scoped_nsobject<CRWSessionController> other_session_controller(
|
| [[CRWSessionController alloc] initWithBrowserState:&browser_state_
|
| @@ -599,7 +599,7 @@ void SetUp() override {
|
| // remains valid.
|
| TEST_F(CRWSessionControllerTest,
|
| InsertStateWithPendingItemIndexInTargetController) {
|
| - // Add 2 committed entries and make the first item pending.
|
| + // Add 2 committed items and make the first item pending.
|
| [session_controller_
|
| addPendingItem:GURL("http://www.url.com/2")
|
| referrer:web::Referrer()
|
| @@ -652,7 +652,7 @@ void SetUp() override {
|
| }
|
|
|
| // Helper to create a NavigationItem.
|
| -std::unique_ptr<web::NavigationItemImpl> CreateNavigationItem(
|
| +std::unique_ptr<web::NavigationItem> CreateNavigationItem(
|
| const std::string& url,
|
| const std::string& referrer,
|
| NSString* title) {
|
| @@ -665,7 +665,11 @@ void SetUp() override {
|
| navigation_item->SetTitle(base::SysNSStringToUTF16(title));
|
| navigation_item->SetTransitionType(ui::PAGE_TRANSITION_TYPED);
|
|
|
| - return navigation_item;
|
| + // XCode clang doesn't correctly handle implicit unique_ptr casting for
|
| + // returned values, so manually cast here.
|
| + std::unique_ptr<web::NavigationItem> item(
|
| + static_cast<web::NavigationItem*>(navigation_item.release()));
|
| + return item;
|
| }
|
|
|
| TEST_F(CRWSessionControllerTest, CreateWithEmptyNavigations) {
|
| @@ -696,10 +700,9 @@ void SetUp() override {
|
| EXPECT_EQ(controller.get().items.size(), 3U);
|
| EXPECT_EQ(controller.get().currentNavigationIndex, 1);
|
| EXPECT_EQ(controller.get().previousNavigationIndex, -1);
|
| - // Sanity check the current item, the CRWSessionItem unit test will ensure
|
| + // Sanity check the current item, the NavigationItem unit test will ensure
|
| // the entire object is created properly.
|
| - EXPECT_EQ(controller.get().currentItem->GetURL(),
|
| - GURL("http://www.yahoo.com"));
|
| + EXPECT_EQ([controller currentItem]->GetURL(), GURL("http://www.yahoo.com"));
|
| }
|
|
|
| // Tests index of previous navigation item.
|
| @@ -802,18 +805,12 @@ void SetUp() override {
|
| [[CRWSessionController alloc] initWithBrowserState:&browser_state_
|
| navigationItems:std::move(items)
|
| currentIndex:0]);
|
| - web::NavigationItemImpl* item0 =
|
| - static_cast<web::NavigationItemImpl*>([controller items][0]);
|
| - web::NavigationItemImpl* item1 =
|
| - static_cast<web::NavigationItemImpl*>([controller items][1]);
|
| - web::NavigationItemImpl* item2 =
|
| - static_cast<web::NavigationItemImpl*>([controller items][2]);
|
| - web::NavigationItemImpl* item3 =
|
| - static_cast<web::NavigationItemImpl*>([controller items][3]);
|
| - web::NavigationItemImpl* item4 =
|
| - static_cast<web::NavigationItemImpl*>([controller items][4]);
|
| - web::NavigationItemImpl* item5 =
|
| - static_cast<web::NavigationItemImpl*>([controller items][5]);
|
| + web::NavigationItemImpl* item0 = [controller items][0].get();
|
| + web::NavigationItemImpl* item1 = [controller items][1].get();
|
| + web::NavigationItemImpl* item2 = [controller items][2].get();
|
| + web::NavigationItemImpl* item3 = [controller items][3].get();
|
| + web::NavigationItemImpl* item4 = [controller items][4].get();
|
| + web::NavigationItemImpl* item5 = [controller items][5].get();
|
| item1->SetIsCreatedFromPushState(true);
|
| item4->SetIsCreatedFromHashChange(true);
|
| item5->SetIsCreatedFromPushState(true);
|
| @@ -916,7 +913,7 @@ void SetUp() override {
|
| EXPECT_EQ("http://www.example.com/2", forwardItems[1]->GetURL().spec());
|
| }
|
|
|
| -// Tests going to entries with existing and non-existing indices.
|
| +// Tests going to items with existing and non-existing indices.
|
| TEST_F(CRWSessionControllerTest, GoToItemAtIndex) {
|
| [session_controller_
|
| addPendingItem:GURL("http://www.example.com/0")
|
| @@ -953,20 +950,20 @@ void SetUp() override {
|
| EXPECT_TRUE([session_controller_ pendingItem]);
|
| EXPECT_TRUE([session_controller_ transientItem]);
|
|
|
| - // Going back should discard transient and pending entries.
|
| + // Going back should discard transient and pending items.
|
| [session_controller_ goToItemAtIndex:1];
|
| EXPECT_EQ(1, session_controller_.get().currentNavigationIndex);
|
| EXPECT_EQ(3, session_controller_.get().previousNavigationIndex);
|
| - EXPECT_FALSE([session_controller_ pendingItem]);
|
| - EXPECT_FALSE([session_controller_ transientItem]);
|
| + EXPECT_FALSE(session_controller_.get().pendingItem);
|
| + EXPECT_FALSE(session_controller_.get().transientItem);
|
|
|
| // Going forward should discard transient item.
|
| [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")];
|
| - EXPECT_TRUE([session_controller_ transientItem]);
|
| + EXPECT_TRUE(session_controller_.get().transientItem);
|
| [session_controller_ goToItemAtIndex:2];
|
| EXPECT_EQ(2, session_controller_.get().currentNavigationIndex);
|
| EXPECT_EQ(1, session_controller_.get().previousNavigationIndex);
|
| - EXPECT_FALSE([session_controller_ transientItem]);
|
| + EXPECT_FALSE(session_controller_.get().transientItem);
|
|
|
| // Out of bounds navigations should be no-op.
|
| [session_controller_ goToItemAtIndex:-1];
|
| @@ -983,7 +980,7 @@ void SetUp() override {
|
| }
|
|
|
| // Tests that visible URL is the same as transient URL if there are no committed
|
| -// entries.
|
| +// items.
|
| TEST_F(CRWSessionControllerTest, VisibleItemWithSingleTransientItem) {
|
| [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")];
|
| web::NavigationItem* visible_item = [session_controller_ visibleItem];
|
| @@ -1095,7 +1092,7 @@ void SetUp() override {
|
| EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec());
|
| }
|
|
|
| -// Tests that |-backwardItems| is empty if all preceding entries are
|
| +// Tests that |-backwardItems| is empty if all preceding items are
|
| // redirects.
|
| TEST_F(CRWSessionControllerTest, BackwardItemsForAllRedirects) {
|
| [session_controller_
|
|
|