Index: chrome/browser/printing/print_preview_dialog_controller_unittest.cc |
=================================================================== |
--- chrome/browser/printing/print_preview_dialog_controller_unittest.cc (revision 181939) |
+++ chrome/browser/printing/print_preview_dialog_controller_unittest.cc (working copy) |
@@ -19,19 +19,21 @@ |
// Test crashes on Aura due to initiator tab's native view having no parent. |
// http://crbug.com/104284 |
#if defined(USE_AURA) |
-#define MAYBE_GetOrCreatePreviewTab DISABLED_GetOrCreatePreviewTab |
+#define MAYBE_GetOrCreatePreviewDialog DISABLED_GetOrCreatePreviewDialog |
#define MAYBE_MultiplePreviewTabs DISABLED_MultiplePreviewTabs |
#define MAYBE_ClearInitiatorTabDetails DISABLED_ClearInitiatorTabDetails |
#else |
-#define MAYBE_GetOrCreatePreviewTab GetOrCreatePreviewTab |
+#define MAYBE_GetOrCreatePreviewDialog GetOrCreatePreviewDialog |
#define MAYBE_MultiplePreviewTabs MultiplePreviewTabs |
#define MAYBE_ClearInitiatorTabDetails ClearInitiatorTabDetails |
#endif |
+namespace printing { |
+ |
typedef PrintPreviewTest PrintPreviewDialogControllerUnitTest; |
-// Create/Get a preview tab for initiator tab. |
-TEST_F(PrintPreviewDialogControllerUnitTest, MAYBE_GetOrCreatePreviewTab) { |
+// Create/Get a preview dialog for initiator tab. |
+TEST_F(PrintPreviewDialogControllerUnitTest, MAYBE_GetOrCreatePreviewDialog) { |
// Lets start with one window with one tab. |
EXPECT_EQ(1u, BrowserList::size()); |
EXPECT_EQ(0, browser()->tab_strip_model()->count()); |
@@ -42,91 +44,98 @@ |
WebContents* initiator_tab = |
browser()->tab_strip_model()->GetActiveWebContents(); |
- printing::PrintPreviewDialogController* tab_controller = |
- printing::PrintPreviewDialogController::GetInstance(); |
- ASSERT_TRUE(tab_controller); |
+ PrintPreviewDialogController* dialog_controller = |
+ PrintPreviewDialogController::GetInstance(); |
+ ASSERT_TRUE(dialog_controller); |
- // Get the preview tab for initiator tab. |
- printing::PrintViewManager::FromWebContents(initiator_tab)-> |
- PrintPreviewNow(false); |
- WebContents* preview_tab = |
- tab_controller->GetOrCreatePreviewTab(initiator_tab); |
+ // Get the preview dialog for initiator tab. |
+ PrintViewManager::FromWebContents(initiator_tab)->PrintPreviewNow(false); |
+ WebContents* preview_dialog = |
+ dialog_controller->GetOrCreatePreviewDialog(initiator_tab); |
- // New print preview tab is created. |
+ // New print preview dialog is a constrained window, so the number of tabs is |
+ // still 1. |
EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
- EXPECT_NE(initiator_tab, preview_tab); |
+ EXPECT_NE(initiator_tab, preview_dialog); |
- // Get the print preview tab for initiator tab. |
- WebContents* new_preview_tab = |
- tab_controller->GetOrCreatePreviewTab(initiator_tab); |
+ // Get the print preview dialog for the same initiator tab. |
+ WebContents* new_preview_dialog = |
+ dialog_controller->GetOrCreatePreviewDialog(initiator_tab); |
- // Preview tab already exists. Tab count remains the same. |
+ // Preview dialog already exists. Tab count remains the same. |
EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
- // 1:1 relationship between initiator and preview tab. |
- EXPECT_EQ(new_preview_tab, preview_tab); |
+ // 1:1 relationship between initiator tab and preview dialog. |
+ EXPECT_EQ(new_preview_dialog, preview_dialog); |
} |
-// 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. |
-TEST_F(PrintPreviewDialogControllerUnitTest, MAYBE_MultiplePreviewTabs) { |
+// Tests multiple print preview dialogs exist in the same browser for |
+// different initiator tabs. If a preview dialog already exists for an |
+// initiator tab, that initiator tab gets focused. |
+TEST_F(PrintPreviewDialogControllerUnitTest, MAYBE_MultiplePreviewDialogs) { |
// Lets start with one window and two tabs. |
EXPECT_EQ(1u, BrowserList::size()); |
- TabStripModel* model = browser()->tab_strip_model(); |
- ASSERT_TRUE(model); |
+ TabStripModel* tab_strip_model = browser()->tab_strip_model(); |
+ ASSERT_TRUE(tab_strip_model); |
- EXPECT_EQ(0, model->count()); |
+ EXPECT_EQ(0, tab_strip_model->count()); |
+ // Create some new initiator tabs. |
chrome::NewTab(browser()); |
- WebContents* web_contents_1 = model->GetActiveWebContents(); |
+ WebContents* web_contents_1 = tab_strip_model->GetActiveWebContents(); |
ASSERT_TRUE(web_contents_1); |
chrome::NewTab(browser()); |
- WebContents* web_contents_2 = model->GetActiveWebContents(); |
+ WebContents* web_contents_2 = tab_strip_model->GetActiveWebContents(); |
ASSERT_TRUE(web_contents_2); |
- EXPECT_EQ(2, model->count()); |
+ EXPECT_EQ(2, tab_strip_model->count()); |
- printing::PrintPreviewDialogController* tab_controller = |
- printing::PrintPreviewDialogController::GetInstance(); |
- ASSERT_TRUE(tab_controller); |
+ PrintPreviewDialogController* dialog_controller = |
+ PrintPreviewDialogController::GetInstance(); |
+ ASSERT_TRUE(dialog_controller); |
- // Create preview tab for |tab_contents_1| |
- printing::PrintViewManager::FromWebContents(web_contents_1)-> |
- PrintPreviewNow(false); |
- WebContents* preview_tab_1 = |
- tab_controller->GetOrCreatePreviewTab(web_contents_1); |
+ // Create preview dialog for |web_contents_1| |
+ PrintViewManager::FromWebContents(web_contents_1)->PrintPreviewNow(false); |
+ WebContents* preview_dialog_1 = |
+ dialog_controller->GetOrCreatePreviewDialog(web_contents_1); |
- EXPECT_NE(web_contents_1, preview_tab_1); |
- EXPECT_EQ(2, model->count()); |
+ EXPECT_NE(web_contents_1, preview_dialog_1); |
+ EXPECT_EQ(2, tab_strip_model->count()); |
- // Create preview tab for |tab_contents_2| |
- printing::PrintViewManager::FromWebContents(web_contents_2)-> |
- PrintPreviewNow(false); |
- WebContents* preview_tab_2 = |
- tab_controller->GetOrCreatePreviewTab(web_contents_2); |
+ // Create preview dialog for |web_contents_2| |
+ PrintViewManager::FromWebContents(web_contents_2)->PrintPreviewNow(false); |
+ WebContents* preview_dialog_2 = |
+ dialog_controller->GetOrCreatePreviewDialog(web_contents_2); |
- EXPECT_NE(web_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, model->count()); |
+ EXPECT_NE(web_contents_2, preview_dialog_2); |
+ EXPECT_NE(preview_dialog_1, preview_dialog_2); |
+ // 2 initiator tabs and 2 preview dialogs exist in the same browser. |
+ // The preview dialogs are constrained in their respective initiator tabs. |
+ EXPECT_EQ(2, tab_strip_model->count()); |
- int tab_1_index = model->GetIndexOfWebContents(web_contents_1); |
- int tab_2_index = model->GetIndexOfWebContents(web_contents_2); |
- int preview_tab_1_index = model->GetIndexOfWebContents(preview_tab_1); |
- int preview_tab_2_index = model->GetIndexOfWebContents(preview_tab_2); |
+ int tab_1_index = tab_strip_model->GetIndexOfWebContents(web_contents_1); |
+ int tab_2_index = tab_strip_model->GetIndexOfWebContents(web_contents_2); |
+ int preview_dialog_1_index = |
+ tab_strip_model->GetIndexOfWebContents(preview_dialog_1); |
+ int preview_dialog_2_index = |
+ tab_strip_model->GetIndexOfWebContents(preview_dialog_2); |
- EXPECT_EQ(-1, preview_tab_1_index); |
- EXPECT_EQ(-1, preview_tab_2_index); |
- EXPECT_EQ(tab_2_index, model->active_index()); |
+ // Constrained dialogs are not in the TabStripModel. |
+ EXPECT_EQ(-1, preview_dialog_1_index); |
+ EXPECT_EQ(-1, preview_dialog_2_index); |
- // When we get the preview tab for |tab_contents_1|, |
- // |preview_tab_1| is activated and focused. |
- tab_controller->GetOrCreatePreviewTab(web_contents_1); |
- EXPECT_EQ(tab_1_index, model->active_index()); |
+ // Since |preview_dialog_2_index| was the most recently created dialog, its |
+ // initiator tab should have focus. |
+ EXPECT_EQ(tab_2_index, tab_strip_model->active_index()); |
+ |
+ // When we get the preview dialog for |web_contents_1|, |
+ // |preview_dialog_1| is activated and focused. |
+ dialog_controller->GetOrCreatePreviewDialog(web_contents_1); |
+ EXPECT_EQ(tab_1_index, tab_strip_model->active_index()); |
} |
-// Clear the initiator tab details associated with preview tab. |
+// Check clearing the initiator tab details associated with a print preview |
+// dialog allows the initiator tab to create another print preview dialog. |
TEST_F(PrintPreviewDialogControllerUnitTest, MAYBE_ClearInitiatorTabDetails) { |
// Lets start with one window with one tab. |
EXPECT_EQ(1u, BrowserList::size()); |
@@ -138,28 +147,32 @@ |
WebContents* initiator_tab = |
browser()->tab_strip_model()->GetActiveWebContents(); |
- printing::PrintPreviewDialogController* tab_controller = |
- printing::PrintPreviewDialogController::GetInstance(); |
- ASSERT_TRUE(tab_controller); |
+ PrintPreviewDialogController* dialog_controller = |
+ PrintPreviewDialogController::GetInstance(); |
+ ASSERT_TRUE(dialog_controller); |
- // Get the preview tab for initiator tab. |
- printing::PrintViewManager::FromWebContents(initiator_tab)-> |
- PrintPreviewNow(false); |
- WebContents* preview_tab = |
- tab_controller->GetOrCreatePreviewTab(initiator_tab); |
+ // Get the preview dialog for the initiator tab. |
+ PrintViewManager::FromWebContents(initiator_tab)->PrintPreviewNow(false); |
+ WebContents* preview_dialog = |
+ dialog_controller->GetOrCreatePreviewDialog(initiator_tab); |
- // New print preview tab is created. Current focus is on preview tab. |
+ // New print preview dialog is a constrained window, so the number of tabs is |
+ // still 1. |
EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
- EXPECT_NE(initiator_tab, preview_tab); |
+ EXPECT_NE(initiator_tab, preview_dialog); |
- // Clear the initiator tab details associated with the preview tab. |
- tab_controller->EraseInitiatorTabInfo(preview_tab); |
+ // Clear the initiator tab details associated with the preview dialog. |
+ dialog_controller->EraseInitiatorTabInfo(preview_dialog); |
- // Get the print preview tab for initiator tab. |
- WebContents* new_preview_tab = |
- tab_controller->GetOrCreatePreviewTab(initiator_tab); |
+ // Get a new print preview dialog for the initiator tab. |
+ WebContents* new_preview_dialog = |
+ dialog_controller->GetOrCreatePreviewDialog(initiator_tab); |
- // New preview tab is created. |
+ // New print preview dialog is a constrained window, so the number of tabs is |
+ // still 1. |
EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
- EXPECT_NE(new_preview_tab, preview_tab); |
+ // Verify a new print preview dialog has been created. |
+ EXPECT_NE(new_preview_dialog, preview_dialog); |
} |
+ |
+} // namespace printing |