diff options
Diffstat (limited to 'content/browser/tab_contents/tab_contents_unittest.cc')
-rw-r--r-- | content/browser/tab_contents/tab_contents_unittest.cc | 23 |
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(); |