| Index: chrome/browser/printing/print_preview_tab_controller_browsertest.cc
|
| ===================================================================
|
| --- chrome/browser/printing/print_preview_tab_controller_browsertest.cc (revision 99975)
|
| +++ chrome/browser/printing/print_preview_tab_controller_browsertest.cc (working copy)
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/printing/print_preview_tab_controller.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/browser_list.h"
|
| +#include "chrome/browser/ui/browser_navigator_browsertest.h"
|
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| @@ -171,4 +172,42 @@
|
| EXPECT_EQ(newest_preview_tab, preview_tab);
|
| }
|
|
|
| +typedef BrowserNavigatorTest PrintPreviewTabControllerBrowserNavigatorTest;
|
| +
|
| +// Test that print preview tabs created by pop-up windows are placed correctly.
|
| +IN_PROC_BROWSER_TEST_F(PrintPreviewTabControllerBrowserNavigatorTest,
|
| + OpenPreviewTabFromPopup) {
|
| + const int kTabCount = 4;
|
| + // Create kTabCount - 1 tabs since we start with 1 tab already.
|
| + for (int i = 0; i < kTabCount - 1; ++i) {
|
| + browser::NavigateParams p(MakeNavigateParams());
|
| + p.disposition = NEW_FOREGROUND_TAB;
|
| + browser::Navigate(&p);
|
| + }
|
| + EXPECT_EQ(kTabCount, browser()->tab_count());
|
| +
|
| + // Create a popup
|
| + browser::NavigateParams p(MakeNavigateParams());
|
| + p.disposition = NEW_POPUP;
|
| + ui_test_utils::NavigateToURL(&p);
|
| +
|
| + // Navigate() should have opened a new popup window.
|
| + EXPECT_NE(browser(), p.browser);
|
| + EXPECT_EQ(Browser::TYPE_POPUP, p.browser->type());
|
| + ASSERT_TRUE(p.target_contents);
|
| +
|
| + // Create a print preview tab.
|
| + scoped_refptr<printing::PrintPreviewTabController>
|
| + tab_controller(new printing::PrintPreviewTabController());
|
| + ASSERT_TRUE(tab_controller);
|
| +
|
| + TabContentsWrapper* preview_tab =
|
| + tab_controller->GetOrCreatePreviewTab(p.target_contents);
|
| + EXPECT_TRUE(preview_tab);
|
| +
|
| + // Check the preview tab's location.
|
| + EXPECT_EQ(preview_tab, browser()->GetTabContentsWrapperAt(kTabCount));
|
| + EXPECT_EQ(preview_tab, browser()->GetSelectedTabContentsWrapper());
|
| +}
|
| +
|
| } // namespace
|
|
|