summaryrefslogtreecommitdiffstats
path: root/content/browser/tab_contents/tab_contents_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/tab_contents/tab_contents_unittest.cc')
-rw-r--r--content/browser/tab_contents/tab_contents_unittest.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/content/browser/tab_contents/tab_contents_unittest.cc b/content/browser/tab_contents/tab_contents_unittest.cc
index d175cf3e..f743e7d 100644
--- a/content/browser/tab_contents/tab_contents_unittest.cc
+++ b/content/browser/tab_contents/tab_contents_unittest.cc
@@ -267,6 +267,29 @@ TEST_F(TabContentsTest, NTPViewSource) {
EXPECT_EQ(ASCIIToUTF16(kUrl), contents()->GetTitle());
}
+// Test to ensure UpdateMaxPageID is working properly.
+TEST_F(TabContentsTest, UpdateMaxPageID) {
+ SiteInstance* instance1 = contents()->GetSiteInstance();
+ scoped_refptr<SiteInstance> instance2(SiteInstance::CreateSiteInstance(NULL));
+
+ // Starts at -1.
+ EXPECT_EQ(-1, contents()->GetMaxPageID());
+ EXPECT_EQ(-1, contents()->GetMaxPageIDForSiteInstance(instance1));
+ EXPECT_EQ(-1, contents()->GetMaxPageIDForSiteInstance(instance2));
+
+ // Make sure max_page_id_ is monotonically increasing per SiteInstance.
+ contents()->UpdateMaxPageID(3);
+ contents()->UpdateMaxPageID(1);
+ EXPECT_EQ(3, contents()->GetMaxPageID());
+ EXPECT_EQ(3, contents()->GetMaxPageIDForSiteInstance(instance1));
+ EXPECT_EQ(-1, contents()->GetMaxPageIDForSiteInstance(instance2));
+
+ contents()->UpdateMaxPageIDForSiteInstance(instance2, 7);
+ EXPECT_EQ(3, contents()->GetMaxPageID());
+ EXPECT_EQ(3, contents()->GetMaxPageIDForSiteInstance(instance1));
+ EXPECT_EQ(7, contents()->GetMaxPageIDForSiteInstance(instance2));
+}
+
// Test simple same-SiteInstance navigation.
TEST_F(TabContentsTest, SimpleNavigation) {
TestRenderViewHost* orig_rvh = rvh();