| 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 6e7eb9880adf28ff6953ad3649cc89b0bd1724e5..b23a26b5f028a90b09e4f5c02ba2d44d5adf758d 100644
|
| --- a/ios/web/navigation/crw_session_controller_unittest.mm
|
| +++ b/ios/web/navigation/crw_session_controller_unittest.mm
|
| @@ -372,7 +372,7 @@ TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) {
|
| [session_controller_ commitPendingItem];
|
|
|
| // Go back to the first item.
|
| - [session_controller_ goToItemAtIndex:0];
|
| + [session_controller_ goToItemAtIndex:0 discardNonCommittedItems:NO];
|
|
|
| // Create and commit a new pending item.
|
| [session_controller_
|
| @@ -416,7 +416,7 @@ TEST_F(CRWSessionControllerTest, commitPendingItemIndex) {
|
| ASSERT_EQ(3U, [session_controller_ items].size());
|
|
|
| // Go to the middle, and commit first pending item index.
|
| - [session_controller_ goToItemAtIndex:1];
|
| + [session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO];
|
| [session_controller_ setPendingItemIndex:0];
|
| ASSERT_EQ(0, [session_controller_ pendingItemIndex]);
|
| web::NavigationItem* pending_item = [session_controller_ pendingItem];
|
| @@ -824,16 +824,16 @@ TEST_F(CRWSessionControllerTest, PreviousNavigationItem) {
|
|
|
| EXPECT_EQ(session_controller_.get().previousItemIndex, 1);
|
|
|
| - [session_controller_ goToItemAtIndex:1];
|
| + [session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO];
|
| EXPECT_EQ(session_controller_.get().previousItemIndex, 2);
|
|
|
| - [session_controller_ goToItemAtIndex:0];
|
| + [session_controller_ goToItemAtIndex:0 discardNonCommittedItems:NO];
|
| EXPECT_EQ(session_controller_.get().previousItemIndex, 1);
|
|
|
| - [session_controller_ goToItemAtIndex:1];
|
| + [session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO];
|
| EXPECT_EQ(session_controller_.get().previousItemIndex, 0);
|
|
|
| - [session_controller_ goToItemAtIndex:2];
|
| + [session_controller_ goToItemAtIndex:2 discardNonCommittedItems:NO];
|
| EXPECT_EQ(session_controller_.get().previousItemIndex, 1);
|
| }
|
|
|
| @@ -999,11 +999,11 @@ TEST_F(CRWSessionControllerTest, TestBackwardForwardItems) {
|
| EXPECT_TRUE([session_controller_ forwardItems].empty());
|
| EXPECT_EQ("http://www.example.com/redirect", backItems[0]->GetURL().spec());
|
|
|
| - [session_controller_ goToItemAtIndex:1];
|
| + [session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO];
|
| EXPECT_EQ(1U, [session_controller_ backwardItems].size());
|
| EXPECT_EQ(1U, [session_controller_ forwardItems].size());
|
|
|
| - [session_controller_ goToItemAtIndex:0];
|
| + [session_controller_ goToItemAtIndex:0 discardNonCommittedItems:NO];
|
| web::NavigationItemList forwardItems = [session_controller_ forwardItems];
|
| EXPECT_EQ(0U, [session_controller_ backwardItems].size());
|
| EXPECT_EQ(2U, forwardItems.size());
|
| @@ -1052,8 +1052,20 @@ TEST_F(CRWSessionControllerTest, GoToItemAtIndex) {
|
| EXPECT_TRUE([session_controller_ pendingItem]);
|
| EXPECT_TRUE([session_controller_ transientItem]);
|
|
|
| + // Going back and forth without discaring transient and pending items.
|
| + [session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO];
|
| + EXPECT_EQ(1, session_controller_.get().lastCommittedItemIndex);
|
| + EXPECT_EQ(3, session_controller_.get().previousItemIndex);
|
| + EXPECT_TRUE(session_controller_.get().pendingItem);
|
| + EXPECT_TRUE(session_controller_.get().transientItem);
|
| + [session_controller_ goToItemAtIndex:3 discardNonCommittedItems:NO];
|
| + EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex);
|
| + EXPECT_EQ(1, session_controller_.get().previousItemIndex);
|
| + EXPECT_TRUE(session_controller_.get().pendingItem);
|
| + EXPECT_TRUE(session_controller_.get().transientItem);
|
| +
|
| // Going back should discard transient and pending items.
|
| - [session_controller_ goToItemAtIndex:1];
|
| + [session_controller_ goToItemAtIndex:1 discardNonCommittedItems:YES];
|
| EXPECT_EQ(1, session_controller_.get().lastCommittedItemIndex);
|
| EXPECT_EQ(3, session_controller_.get().previousItemIndex);
|
| EXPECT_FALSE(session_controller_.get().pendingItem);
|
| @@ -1062,21 +1074,22 @@ TEST_F(CRWSessionControllerTest, GoToItemAtIndex) {
|
| // Going forward should discard transient item.
|
| [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")];
|
| EXPECT_TRUE(session_controller_.get().transientItem);
|
| - [session_controller_ goToItemAtIndex:2];
|
| + [session_controller_ goToItemAtIndex:2 discardNonCommittedItems:YES];
|
| EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex);
|
| EXPECT_EQ(1, session_controller_.get().previousItemIndex);
|
| EXPECT_FALSE(session_controller_.get().transientItem);
|
|
|
| // Out of bounds navigations should be no-op.
|
| - [session_controller_ goToItemAtIndex:-1];
|
| + [session_controller_ goToItemAtIndex:-1 discardNonCommittedItems:NO];
|
| EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex);
|
| EXPECT_EQ(1, session_controller_.get().previousItemIndex);
|
| - [session_controller_ goToItemAtIndex:NSIntegerMax];
|
| + [session_controller_ goToItemAtIndex:NSIntegerMax
|
| + discardNonCommittedItems:NO];
|
| EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex);
|
| EXPECT_EQ(1, session_controller_.get().previousItemIndex);
|
|
|
| // Going to current index should not change the previous index.
|
| - [session_controller_ goToItemAtIndex:2];
|
| + [session_controller_ goToItemAtIndex:2 discardNonCommittedItems:NO];
|
| EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex);
|
| EXPECT_EQ(1, session_controller_.get().previousItemIndex);
|
| }
|
|
|