| Index: chrome/browser/printing/print_preview_tab_controller_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/printing/print_preview_tab_controller_unittest.cc (revision 110058)
|
| +++ chrome/browser/printing/print_preview_tab_controller_unittest.cc (working copy)
|
| @@ -42,8 +42,8 @@
|
| TabContentsWrapper* preview_tab =
|
| tab_controller->GetOrCreatePreviewTab(initiator_tab);
|
|
|
| - // New print preview tab is created.
|
| - EXPECT_EQ(1, browser()->tab_count());
|
| + // New print preview tab is created. Current focus is on preview tab.
|
| + EXPECT_EQ(2, browser()->tab_count());
|
| EXPECT_NE(initiator_tab, preview_tab);
|
|
|
| // Get the print preview tab for initiator tab.
|
| @@ -51,12 +51,62 @@
|
| tab_controller->GetOrCreatePreviewTab(initiator_tab);
|
|
|
| // Preview tab already exists. Tab count remains the same.
|
| - EXPECT_EQ(1, browser()->tab_count());
|
| + EXPECT_EQ(2, browser()->tab_count());
|
|
|
| // 1:1 relationship between initiator and preview tab.
|
| EXPECT_EQ(new_preview_tab, preview_tab);
|
| }
|
|
|
| +// Test to verify the initiator tab title is stored in |PrintPreviewUI| after
|
| +// preview tab reload.
|
| +TEST_F(PrintPreviewTabControllerUnitTest, TitleAfterReload) {
|
| + ASSERT_TRUE(browser());
|
| + BrowserList::SetLastActive(browser());
|
| + ASSERT_TRUE(BrowserList::GetLastActive());
|
| +
|
| + // Lets start with one window with one tab.
|
| + EXPECT_EQ(1u, BrowserList::size());
|
| + EXPECT_EQ(0, browser()->tab_count());
|
| + browser()->NewTab();
|
| + EXPECT_EQ(1, browser()->tab_count());
|
| +
|
| + // Create a reference to initiator tab contents.
|
| + TabContentsWrapper* initiator_tab =
|
| + browser()->GetSelectedTabContentsWrapper();
|
| +
|
| + scoped_refptr<printing::PrintPreviewTabController>
|
| + tab_controller(new printing::PrintPreviewTabController());
|
| + ASSERT_TRUE(tab_controller);
|
| +
|
| + // Get the preview tab for initiator tab.
|
| + TabContentsWrapper* preview_tab =
|
| + tab_controller->GetOrCreatePreviewTab(initiator_tab);
|
| +
|
| + // New print preview tab is created. Current focus is on preview tab.
|
| + EXPECT_EQ(2, browser()->tab_count());
|
| + EXPECT_NE(initiator_tab, preview_tab);
|
| +
|
| + // Set up a PrintPreviewUI for |preview_tab|.
|
| + PrintPreviewUI* preview_ui = new PrintPreviewUI(preview_tab->tab_contents());
|
| + // RenderViewHostManager takes ownership of |preview_ui|.
|
| + preview_tab->tab_contents()->render_manager_for_testing()->
|
| + SetWebUIPostCommit(preview_ui);
|
| +
|
| + // Simulate a reload event on |preview_tab|.
|
| + scoped_ptr<NavigationEntry> entry;
|
| + entry.reset(new NavigationEntry());
|
| + entry->set_transition_type(content::PAGE_TRANSITION_RELOAD);
|
| + content::LoadCommittedDetails details;
|
| + details.type = content::NAVIGATION_TYPE_SAME_PAGE;
|
| + details.entry = entry.get();
|
| + content::NotificationService::current()->Notify(
|
| + content::NOTIFICATION_NAV_ENTRY_COMMITTED,
|
| + content::Source<NavigationController>(&preview_tab->controller()),
|
| + content::Details<content::LoadCommittedDetails>(&details));
|
| + EXPECT_EQ(initiator_tab->tab_contents()->GetTitle(),
|
| + preview_ui->initiator_tab_title_);
|
| +}
|
| +
|
| // To show multiple print preview tabs exist in the same browser for
|
| // different initiator tabs. If preview tab already exists for an initiator, it
|
| // gets focused.
|
| @@ -89,7 +139,7 @@
|
| tab_controller->GetOrCreatePreviewTab(tab_contents_1);
|
|
|
| EXPECT_NE(tab_contents_1, preview_tab_1);
|
| - EXPECT_EQ(2, browser()->tab_count());
|
| + EXPECT_EQ(3, browser()->tab_count());
|
|
|
| // Create preview tab for |tab_contents_2|
|
| TabContentsWrapper* preview_tab_2 =
|
| @@ -97,25 +147,23 @@
|
|
|
| EXPECT_NE(tab_contents_2, preview_tab_2);
|
| // 2 initiator tab and 2 preview tabs exist in the same browser.
|
| - // The preview tabs are constrained in their respective initiator tabs.
|
| - EXPECT_EQ(2, browser()->tab_count());
|
| + EXPECT_EQ(4, browser()->tab_count());
|
|
|
| TabStripModel* model = browser()->tabstrip_model();
|
| ASSERT_TRUE(model);
|
|
|
| - int tab_1_index = model->GetIndexOfTabContents(tab_contents_1);
|
| - int tab_2_index = model->GetIndexOfTabContents(tab_contents_2);
|
| int preview_tab_1_index = model->GetIndexOfTabContents(preview_tab_1);
|
| int preview_tab_2_index = model->GetIndexOfTabContents(preview_tab_2);
|
|
|
| - EXPECT_EQ(-1, preview_tab_1_index);
|
| - EXPECT_EQ(-1, preview_tab_2_index);
|
| - EXPECT_EQ(tab_2_index, browser()->active_index());
|
| + EXPECT_NE(-1, preview_tab_1_index);
|
| + EXPECT_NE(-1, preview_tab_2_index);
|
| + // Current tab is |preview_tab_2|.
|
| + EXPECT_EQ(preview_tab_2_index, browser()->active_index());
|
|
|
| // When we get the preview tab for |tab_contents_1|,
|
| // |preview_tab_1| is activated and focused.
|
| tab_controller->GetOrCreatePreviewTab(tab_contents_1);
|
| - EXPECT_EQ(tab_1_index, browser()->active_index());
|
| + EXPECT_EQ(preview_tab_1_index, browser()->active_index());
|
| }
|
|
|
| // Clear the initiator tab details associated with preview tab.
|
| @@ -143,7 +191,7 @@
|
| tab_controller->GetOrCreatePreviewTab(initiator_tab);
|
|
|
| // New print preview tab is created. Current focus is on preview tab.
|
| - EXPECT_EQ(1, browser()->tab_count());
|
| + EXPECT_EQ(2, browser()->tab_count());
|
| EXPECT_NE(initiator_tab, preview_tab);
|
|
|
| // Clear the initiator tab details associated with the preview tab.
|
| @@ -154,6 +202,6 @@
|
| tab_controller->GetOrCreatePreviewTab(initiator_tab);
|
|
|
| // New preview tab is created.
|
| - EXPECT_EQ(1, browser()->tab_count());
|
| + EXPECT_EQ(3, browser()->tab_count());
|
| EXPECT_NE(new_preview_tab, preview_tab);
|
| }
|
|
|