Index: ios/web/navigation/navigation_manager_impl_unittest.mm |
diff --git a/ios/web/navigation/navigation_manager_impl_unittest.mm b/ios/web/navigation/navigation_manager_impl_unittest.mm |
index c3d3eceaeb31f3ae89887cc6f7be3c1da6dfb8e3..3f240898e8f2054456fcef8e15ba44f47c6fc7bd 100644 |
--- a/ios/web/navigation/navigation_manager_impl_unittest.mm |
+++ b/ios/web/navigation/navigation_manager_impl_unittest.mm |
@@ -1363,4 +1363,28 @@ GURL rewritten_url4( |
EXPECT_EQ(rewritten_url4, navigation_manager()->GetPendingItem()->GetURL()); |
} |
+// Tests that GetIndexOfItem() returns the correct values. |
+TEST_F(NavigationManagerTest, GetIndexOfItem) { |
+ // Create two items and add them to the NavigationManagerImpl. |
+ navigation_manager()->AddPendingItem( |
+ GURL("http://www.url.com/0"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
+ web::NavigationInitiationType::USER_INITIATED, |
+ web::NavigationManager::UserAgentOverrideOption::INHERIT); |
+ navigation_manager()->CommitPendingItem(); |
+ web::NavigationItem* item0 = navigation_manager()->GetLastCommittedItem(); |
+ navigation_manager()->AddPendingItem( |
+ GURL("http://www.url.com/1"), Referrer(), ui::PAGE_TRANSITION_TYPED, |
+ web::NavigationInitiationType::USER_INITIATED, |
+ web::NavigationManager::UserAgentOverrideOption::INHERIT); |
+ navigation_manager()->CommitPendingItem(); |
+ web::NavigationItem* item1 = navigation_manager()->GetLastCommittedItem(); |
+ // Create an item that does not exist in the NavigationManagerImpl. |
+ std::unique_ptr<web::NavigationItem> item_not_found = |
+ web::NavigationItem::Create(); |
+ // Verify GetIndexOfItem() results. |
+ EXPECT_EQ(0, navigation_manager()->GetIndexOfItem(item0)); |
+ EXPECT_EQ(1, navigation_manager()->GetIndexOfItem(item1)); |
+ EXPECT_EQ(-1, navigation_manager()->GetIndexOfItem(item_not_found.get())); |
+} |
+ |
} // namespace web |