Chromium Code Reviews| 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); |
| } |