Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2933)

Unified Diff: chrome/browser/printing/print_preview_tab_controller_unittest.cc

Issue 8564044: Revert 110056 - Print Preview: Make print preview tab modal. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
« no previous file with comments | « chrome/browser/printing/print_preview_tab_controller_browsertest.cc ('k') | chrome/browser/printing/print_view_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698