Index: chrome/browser/printing/print_preview_tab_controller_unittest.cc |
diff --git a/chrome/browser/printing/print_preview_tab_controller_unittest.cc b/chrome/browser/printing/print_preview_tab_controller_unittest.cc |
index 467502abd229d2348c1ea0435ef415e53ba83c81..af3d129baa16e0ecd08844641bd5abd6388d6bd6 100644 |
--- a/chrome/browser/printing/print_preview_tab_controller_unittest.cc |
+++ b/chrome/browser/printing/print_preview_tab_controller_unittest.cc |
@@ -8,6 +8,7 @@ |
#include "chrome/test/base/browser_with_test_window_test.h" |
#include "chrome/test/base/testing_profile.h" |
#include "content/browser/tab_contents/tab_contents.h" |
+#include "content/common/url_constants.h" |
typedef BrowserWithTestWindowTest PrintPreviewTabControllerTest; |
@@ -38,9 +39,6 @@ TEST_F(PrintPreviewTabControllerTest, GetOrCreatePreviewTab) { |
EXPECT_EQ(2, browser()->tab_count()); |
EXPECT_NE(initiator_tab, preview_tab); |
- // Activate initiator_tab. |
- static_cast<RenderViewHostDelegate*>(initiator_tab)->Activate(); |
Lei Zhang
2011/08/09 20:51:19
Just curious why you are removing the Activate() c
kmadhusu
2011/08/10 16:46:59
Previously, we were creating print preview tab for
|
- |
// Get the print preview tab for initiator tab. |
TabContents* new_preview_tab = |
tab_controller->GetOrCreatePreviewTab(initiator_tab); |
@@ -103,9 +101,6 @@ TEST_F(PrintPreviewTabControllerTest, MultiplePreviewTabs) { |
// Current tab is |preview_tab_2|. |
EXPECT_EQ(preview_tab_2_index, browser()->active_index()); |
- // Activate |tab_contents_1| tab. |
- static_cast<RenderViewHostDelegate*>(tab_contents_1)->Activate(); |
- |
// When we get the preview tab for |tab_contents_1|, |
// |preview_tab_1| is activated and focused. |
tab_controller->GetOrCreatePreviewTab(tab_contents_1); |
@@ -142,8 +137,45 @@ TEST_F(PrintPreviewTabControllerTest, ClearInitiatorTabDetails) { |
// Clear the initiator tab details associated with the preview tab. |
tab_controller->EraseInitiatorTabInfo(preview_tab); |
- // Activate initiator_tab. |
- static_cast<RenderViewHostDelegate*>(initiator_tab)->Activate(); |
+ // Get the print preview tab for initiator tab. |
+ TabContents* new_preview_tab = |
+ tab_controller->GetOrCreatePreviewTab(initiator_tab); |
+ |
+ // New preview tab is created. |
+ EXPECT_EQ(3, browser()->tab_count()); |
+ EXPECT_NE(new_preview_tab, preview_tab); |
+} |
+ |
+// Navigate away from the Print Preview tab. |
+TEST_F(PrintPreviewTabControllerTest, NavigateFromPrintPreviewTab) { |
+ 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. |
+ TabContents* initiator_tab = browser()->GetSelectedTabContents(); |
+ |
+ scoped_refptr<printing::PrintPreviewTabController> |
+ tab_controller(new printing::PrintPreviewTabController()); |
+ ASSERT_TRUE(tab_controller); |
+ |
+ // Get the preview tab for initiator tab. |
+ TabContents* 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); |
+ |
+ NavigationController* controller = |
+ &browser()->GetTabContentsAt(1)->controller(); |
+ NavigateAndCommit(controller, GURL(chrome::kAboutBlankURL)); |
// Get the print preview tab for initiator tab. |
TabContents* new_preview_tab = |
@@ -152,4 +184,14 @@ TEST_F(PrintPreviewTabControllerTest, ClearInitiatorTabDetails) { |
// New preview tab is created. |
EXPECT_EQ(3, browser()->tab_count()); |
EXPECT_NE(new_preview_tab, preview_tab); |
+ |
+ // Get the print preview tab for old preview tab. |
+ TabContents* newest_preview_tab = |
+ tab_controller->GetOrCreatePreviewTab(preview_tab); |
+ |
+ // Newest preview tab is created and the previously created preview tab is not |
+ // merely activated. |
+ |
+ EXPECT_EQ(4, browser()->tab_count()); |
+ EXPECT_NE(newest_preview_tab, new_preview_tab); |
} |