| 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();
|
| -
|
| // 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);
|
| }
|
|
|